New form accéder à une fonction

Résolu
Utilisateur anonyme - 10 oct. 2024 à 18:37
yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 - 11 oct. 2024 à 18:31

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 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 Ambassadeur 1 579
11 oct. 2024 à 10:02

bonjour,

quel variante de vb utilises-tu?

0
Utilisateur anonyme
11 oct. 2024 à 13:49

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 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 1 579
11 oct. 2024 à 15:15

Cela fonctionne-t-il si avec

form1.GetMaTache()

Peux-tu montrer la déclaration de form1?

0
yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 Ambassadeur 1 579
11 oct. 2024 à 16:20

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
11 oct. 2024 à 17:03

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 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 1 579
Modifié le 11 oct. 2024 à 17:45

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 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 1 579
11 oct. 2024 à 17:52

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 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 4 744
11 oct. 2024 à 18:05

bonjour 

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

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


0
yg_be Messages postés 23535 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2025 1 579
11 oct. 2024 à 18:31

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

0