2017-02-20 2 views
0

Ich habe Formular mit dem Namen Form1, die ein Button-Steuerelement (bunifuImageButton9) und ein Benutzersteuerelement (UserControl1) enthält. Das Benutzersteuerelement verfügt über ein Textfeld (textBox2). Ich brauche die Schaltfläche, um Text in einem Textfeld im Benutzersteuerelement zu ändern.Change UserControl Textfeld durch Button auf Form1

Ich weiß, wie Sie den Inhalt in einem normalen Textfeld ändern, aber ich sehe nicht, wie auf das Textfeld innerhalb des Benutzersteuerelements zugreifen.

Wie würde ich das tun?

+2

was meinen Sie: 'aber wie würde ich die Kontrolle zwischen dem Button auf Form1 Transfer zum UserControl1.'? – CodingYoshi

+0

@CodingYoshi Ja. –

Antwort

0

Die schnelle und schmutzige und wahrscheinlich falsche Weg, es zu tun ist textBox2 Öffentlichkeit statt privat auf UserControl1 zu machen, und dann aus der Form, rufen

userControl1.textBox2.Text = "some new value"; 

Je mehr richtige Weg, dies zu tun ist hinzuzufügen ein öffentliches Eigentum zu UserControl1, die die Textbox in sinnvoller Weise aussetzt:

class UserControl1 { 
    public string SomeCoolTextValue { 
     get { 
      return textBox2.Text; 
     } 
     set { 
      textBox2.Text = value; 
     } 
    } 
} 

class Form1 { 
    private void bunifuImageButton9_Click(object sender, EventArgs e) { 
     userControl1.SomeCoolTextValue = "some new value"; 
    } 
} 
+0

Es scheint, dass die SomeCoolTextValue-Zeichenfolge nicht an Form1 übertragen wird. Eine Objektreferenz ist erforderlich. Soll ich UserControl1 u1 machen? –

+0

Ah. Aha. Okay. Vielen Dank! Ich musste UserControl1 wegen einiger vorheriger Schritte, die ich in meiner Benutzeroberfläche nahm, zu u1 ändern. –