New form accéder à une fonction

Résolu
Utilisateur anonyme -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour, je sollicite de nouveau votre aide pour un problème que j'ai et que je n'arrive pas à résoudre. Je crée un nouveau formulaire par :

Public MyNewFrom As New Form

MyNewForm= form1

dans ma form1, j'appelle une fonction : 

Public Function GetSQLTache() As DataTable

...

End Function

Si j'écris :

MyNewFrom.GetMaTache()

ça ne fonctionne pas. J'ai comme message :'GetMyTache' n'est pas un membre de MyNewForm. Comment on fait pour accéder à cette fonction avec MyNewForm.

Merci pour votre aide. 

A voir également:

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour,

quel variante de vb utilises-tu?

0
Utilisateur anonyme
 

bonjour, j'utilise vb.net. Je veux juste savoir lorsque l'on crée un nouveau formulaire comment utiliser une sub ou une fonction qui appartient au formulaire qui est passé dans la variable. Je sais comment faire si c'est un control, un datagridview,... mais je ne trouve pas de solution pour cela.

Je ne sais pas si ça répond à votre question.

Merci pour l'aide.

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

Cela fonctionne-t-il si avec

form1.GetMaTache()

Peux-tu montrer la déclaration de form1?

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

Je pense que MyNewForm est membre de System.Windows.Forms.Form, tandis que form1 est membre d'une autre classe, que tu ne nous montres pas.

0
Utilisateur anonyme
 

si je mets 

form1.GetMaTache()

oui cela fonctionne. Dans mon code, je fais :

MyNewFrom = fomr1

La raison pour laquelle je fais cela c'est que j'ai plusieurs form qui font sensiblement la même chose. Ils ont quelques variables mais rien qui m'empêche d'utiliser le même code. C'est pourquoi je crée un nouveau formulaire. Je ne veux pas répéter le code 10 fois.

J'ai donc :

MyNewFrom = form1
MyNewFrom = form2
MyNewForm = form3...

la classe de form1 s'appelle : Public Class Form01. C'est créé automatiquement par le programme et qui découles tous je pense de windows.form. Non?

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

Tu dois alors faire 

MyNewFrom As New Form01

Quand tu écris "rien qui m'empêche d'utiliser le même code", comment déclares-tu une seule fois GetMaTache()?

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

Si tu as plusieurs classes "form" qui font sensiblement la même chose, il me semble préférable de déclarer une classe 'commune" qui fait le travail commun, et que tes classes "form" héritent de cette classe "commune".

0

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

Posez votre question
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

bonjour 

dis... c'est MyNewFrom .. ou MyNewForm

j'ai l'impression que tu es un peu dyslexique... 


0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

Ce n'est rien.  Dans la question de départ, la même fonction a trois noms: GetMaTache, GetSQLTache, GetMyTache.

0