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

cs_Master 32 Messages postés samedi 14 octobre 2000Date d'inscription 29 août 2005 Dernière intervention - 7 juin 2005 à 14:11 - Dernière réponse : cs_Master 32 Messages postés samedi 14 octobre 2000Date d'inscription 29 août 2005 Dernière intervention
- 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 ??







Afficher la suite 

7 réponses

cs_lim 329 Messages postés jeudi 20 novembre 2003Date d'inscription 10 mai 2014 Dernière intervention - 7 juin 2005 à 17:41
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
cs_lim 329 Messages postés jeudi 20 novembre 2003Date d'inscription 10 mai 2014 Dernière intervention - 7 juin 2005 à 14:48
0
Utile
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
cs_Master 32 Messages postés samedi 14 octobre 2000Date d'inscription 29 août 2005 Dernière intervention - 7 juin 2005 à 14:50
0
Utile
ok merci LIM
cs_Master 32 Messages postés samedi 14 octobre 2000Date d'inscription 29 août 2005 Dernière intervention - 7 juin 2005 à 15:17
0
Utile
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
cs_lim 329 Messages postés jeudi 20 novembre 2003Date d'inscription 10 mai 2014 Dernière intervention - 7 juin 2005 à 17:11
0
Utile
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
cs_Master 32 Messages postés samedi 14 octobre 2000Date d'inscription 29 août 2005 Dernière intervention - 7 juin 2005 à 17:28
0
Utile
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
cs_Master 32 Messages postés samedi 14 octobre 2000Date d'inscription 29 août 2005 Dernière intervention - 8 juin 2005 à 08:48
0
Utile
ok c'est tout bon.

Merci Lim @+


Master

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.