2010-03-14 4 views
0

J'ai un parent MDI, contenant un MenuStrip. Lorsque je clique sur l'un des menus, deux formulaires enfants sont affichés simultanément.Passer la valeur entre l'enfant MDI dans WinForm utilisant C#

J'ai un TextBox et EnvoyerBouton sur un de mes ChildForm. Lorsque je tape quelque chose dans cette TextBox et que je clique sur le SendButton, j'ai besoin de montrer cette valeur dans le TextBox de mon deuxième formulaire enfant. Ce que j'avais fait est, j'ai écrit une fonction publique dans le deuxième formulaire d'enfant et ai essayé de l'invoquer en créant un objet de deuxième forme, sur l'événement de clic de bouton d'envoi. Lorsque je mets des points de rupture, dans cette fonction publique, je trouve que le contrôle circule à travers cette fonction publique en cliquant sur le bouton Envoyer. Mais la valeur transmise n'est pas affichée. Et, je sais que ce n'est pas la façon standard de le faire.

Un exemple de script pour obtenir de l'aide? Merci.

Répondre

0

Merci pour la réponse.

J'ai essayé votre code, mais je donnais une erreur: L'index était en dehors des limites du tableau.

j'ai changé le code légèrement, pour le faire fonctionner, comme suit:

SecondForm f2= (SecondForm)this.MdiParent.MdiChildren[1]; 
     f2.PublicMethod(some_value_to_pass); 

Merci pour l'aide. :-)

0

Je peux mal interpréter votre question, mais il semble que dans l'événement Click de votre bouton Envoyer, vous créez une nouvelle instance de SecondForm et appelez sa fonction. Si vous créez une nouvelle instance du formulaire ici, ce n'est pas la même instance du formulaire qui se trouve déjà dans votre formulaire parent MDI (c'est pourquoi rien ne semble se produire).

Ce que vous devez faire est d'obtenir une référence à l'instance de SecondForm qui est déjà dans votre formulaire parent MDI et appelez sa méthode publique. Vous pouvez obtenir une référence à la deuxième forme via la collection de forme mère MdiChildren, comme ceci:

SecondForm f2 = (SecondForm)this.MdiChildren[1]; // second form in collection 
f2.PublicMethod(); 
Questions connexes