Tout d'abord, c'est une question à propos d'une application de bureau à l'aide de Windows Forms, pas un ASP.Net question.
J'ai besoin d'interagir avec les contrôles sur d'autres formes. En essayant d'accéder aux commandes en utilisant, par exemple, la suite...
otherForm.Controls["nameOfControl"].Visible = false;
...ne fonctionne pas de la façon dont je voudrais attendre. Je me retrouve avec une exception générée à partir de Main
. Cependant, si je fais les contrôles public
au lieu de private
, je peux alors accéder directement à eux, comme si...
otherForm.nameOfControl.Visible = false;
Mais est-ce la meilleure façon de le faire? Est de rendre le contrôle public
sur l'autre forme considérés comme des "meilleures pratiques"? Est-il un "meilleur" moyen de contrôles d'accès sur une autre forme?
Plus D'Explications:
C'est en fait une sorte de suite d'une autre question que j'avais posée: la Meilleure méthode pour la création d'un "arbre des préférences de la boîte de dialogue" type de l'interface en C#? La réponse que j'ai eu était grand et résolu de nombreux, de nombreux problèmes d'organisation j'ai eu en termes de maintien de la droite de l'INTERFACE utilisateur et facile à travailler à la fois dans le temps et au moment de la conception. Cependant, il a apporté cette tatillonne question de facilement contrôler d'autres aspects de l'interface.
En gros, j'ai une racine qui instancie beaucoup d'autres formes qui sont assis à une table ronde sur la racine. Ainsi, par exemple, un bouton radio sur l'un de ces sous-formulaires pourriez avoir besoin de modifier l'état d'une barre d'état icône sur l'essentiel, la forme de base. Dans ce cas, j'ai besoin d'un sous-formulaire à parler à la commande dans la barre d'état de la société mère (racine) de la forme. (J'espère qu'un sens, pas dans un "à qui la" sorte de façon.)