De contrôle de l'utilisateur dans l'application windows forms

J'ai un contrôle utilisateur simple avec une zone de texte et l'étiquette en elle. J'ai créé propriétés publiques pour accéder au texte dans la zone de texte lorsque j'utilise le contrôle de l'utilisateur sous une autre forme.

Mon problème est la propriété retourne la valeur null lorsque je l'appelle dans la forme. Ai-je raté quelque chose?

Ma propriété est la suivante:

 public partial class UserControl1 : UserControl
 {
        public UserControl1()
        {
            InitializeComponent();
        }

        public string rtnTxtMake
        {  
            get 
            { 
                return txtMake.Text; 
            }
            set 
            { 
                txtMake.Text = value; 
            } 
        }
 }

et ce, dans les formes de l'événement clic du bouton j'appelle la propriété comme suit

        UserControl1 Usc = new UserControl1();
        string Make = Usc.rtnTxtMake;

        MessageBox.Show(Make)
  • Avez-vous jamais txtMake.Text à quelque chose?
  • j'ai entrez des valeurs dans la zone de texte quand je lance l'application.est n pas suffisant?
  • manuellement lorsque j'ai affecté txtMake.Texte à une certaine valeur.je suis en mesure d'obtenir les résultats recherchés.mais comment puis-je attribuer la valeur saisie au cours de l'exécution de txtMake.Texte????????
  • Ewww, la notation hongroise
  • Il n'y a rien de mal avec la création d'un UserControl au moment de l'exécution, en réponse à un Clic sur un Bouton ! Les autres observations/réponses déjà de vous le rappeler : vous devez l'ajouter à un valide "conteneur" (la Forme, Panneau, etc.) pour l'utiliser, et vous devrez le faire à l'intérieur de l'événement Click du Bouton : depuis le contrôle utilisateur que vous créez sera "hors de portée" lorsque l'événement Click sorties. Dans la plupart des cas, vous aurez envie de conserver une référence à la fonction nouvellement créée de UserControl pour y accéder plus tard : si c'est une variable spécifique déclarée à la Forme-niveau d'étendue, ou d'une entrée dans une Liste<UserControl> dépend de votre conception et le but.
InformationsquelleAutor Kishore | 2010-01-10