6
votes

Comment ajouter le même contrôle en plusieurs panneaux en C #?

J'ai un bouton appelé Button1 et deux panneaux appelés: panela et panneauB (visible est faux par défaut) et le code suivant (WinForms):

panelA.Controls.Add(button1);
panelB.Controls.Add(button1);
panelB.Visible = true; // I see the button1
panelA.Visible = true; // I don't (ofcoz panelB.Visible is still false)
MessageBox.Show(panelA.Controls.Contains(button1).ToString); //False, why?


0 commentaires

3 Réponses :


1
votes

Je ne sais pas pourquoi votre bouton Seccond n'est pas visible. Mais pourquoi ne pas utiliser deux boutons différents avec le même événement de clic?

Avez-vous essayé si le problème est toujours là, vous essayez d'ajouter deux instances différentes d'un bouton?

bonne chance.


0 commentaires

5
votes

L'objet bouton1 ne peut avoir qu'un seul parent visuel. Par conséquent, vous ne devriez pas l'ajouter à 2 parents différents.

Donc, vous devez avoir 2 objets de bouton.


0 commentaires

0
votes

Une seule instance d'ANOObject peut être affichée, vous devez donc créer un autre bouton d'instance. Tous deux agiront de la même manière (parce qu'ils sont un contrôle - mais auront des actes différents afin d'avoir un exemple différent).

Et ceci est parce que vous ne pouvez avoir qu'une seule instance d'un contrôle. Vous n'avez vraiment pas besoin de même instance d'un objet.


0 commentaires