[ VB .NET] Appeler une fonction d'un formulaire à partir d'un autre formulaire

Résolu
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005 - 7 juin 2005 à 14:11
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005 - 8 juin 2005 à 08:48
J'ai des fonctions et procédures que je ne peux pas mettre dans un Module mais

dont j'ai besoins dans d'autres formulaires.


J'ai essayer de mettre le nom de la fonction mais ca marche pas. Il me dit qu'il faut ajouter

une référence d'objet (kekchose comme ca)




Comment dois je appeller les fonctions et si je dois ajouter des références comment dois je procéder ??







7 réponses

cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
7 juin 2005 à 17:41
autant pour moi,

dans form2 tu déclare comme suit

Public
Class frmServidoresOPC



Inherits System.Windows.Forms.Form



Dim objfrmMain
As FrmMaim



'tu modifie l'instanciation
Public
Sub
New(
ByVal objform
As FrmMaim)



MyBase.New()



'This call is required by the Windows Form Designer.


InitializeComponent()



'Add any initialization after the InitializeComponent() call


objfrmMain = objform



End
Sub

'une focntion

private sub fct
'bidouille les bouton correspondant à la frmMain
objfrmMain.butondelaformmain.enabled=false

end sub

end class

'dans ta form Main

'appel de la form2


Dim objfrm2
As form2


objfrm2 =
New form2(
Me)


objfrm2 .ShowDialog()

garantie
@+
LIM
3
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
7 juin 2005 à 14:48
salut

au lieu d'avoir

private sub... ou private function....

tu déclare

public sub ...ou public function....

dans ta form tu fais

dim f1 as new form1

form1.mafonctionpublique

@+
LIM
0
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005
7 juin 2005 à 14:50
ok merci LIM
0
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005
7 juin 2005 à 15:17
j'ai bien fais comme ta dis mais ya un ptit pb.

C'est que la fonction que j'appelle dans form1 doit agir dans form1 (Désactive des boutons etc...)

mais rien ne se passe ???



j'ai bien analyser ce ke tu m'a dis de faire et je me pose la question suivante:

Est ce que créer une nouvelle instance de mon formulaire me permet d'agir sur ce formualire à partir de cette instance ?

Master
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
7 juin 2005 à 17:11
euh comprends pas

si la fonction est dans le formulaire et qu'elle doit agir dans le formualire tu nen a pas besoin

exemple

'Une form (manque les déclarations)
public class FORM1

'Désactive tes boutons
private sub mafonction

buton1.enabled=false

end sub

end class

si tu veux le faire sur une form appellé (form1 appelle form2)

public class form1

private sub mafonction

dim f2 as new form2
'directement désactive le bouton
form2.buton2.enables=false
'ou appel d'une fonction public
form2.fonctiondelaform2

end sub

end class

en espérant t'éclairer un peu plus
@+
LIM
0
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005
7 juin 2005 à 17:28
je crois que je me suis mal fais comprendre

je rexplique:

j'ai un premier formulaire (qui est ma fenetre principale) : FrmMain

J'ai un dexuxime formulaire ( Form2) qui s'ouvre lors d'un clique sur un bouton du premier formulaire

Dans formé j'ai des boutons et lorque je clique sur l'un d'entre eux, cela doit appeller des procedures

du premier formualire (FrmMain) pour pouvoir réaliser certaines opérations sur ce même formulaire (FrmMain)

(exemple: désactivé certains boutons, acces à la base de données, changement d'apparence de Panels etc...)



lors que je fais dans mon 2eme formualire:

Dim FrmMain as New FrmMain

FrmMain.mafonction(monParametre)



Ceci ne marche pas, car dans ma fonction je parcours tous les controles (dynamiquement créés) contenus dans un Panel

mais il me dis qu'il y en a ZERO alors qu'il y en a plusieurs.



Peut que le fait d'instancier mon formulaire (FrmMain) ne me créé pas mes controles dynamiques ????



je sais pa si g été clair....



alors comment faire ???


Master
0
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005
8 juin 2005 à 08:48
ok c'est tout bon.

Merci Lim @+


Master
0
Rejoignez-nous