Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
461 views
in Technique[技术] by (71.8m points)

winforms - Passing TextBox's text to another form in C#?

I have tried this to pass the information:

Form1 frm1 = new Form1(); 
 textBox1.Text = ((TextBox)frm1.Controls["textBox1"]).Text;

This is in the form load of the form getting the information. But there is no text. How do I fix this? Form2 is grabbing Form1's text and displaying it.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Expose the contents of the textbox using a property:

class Form1 {
  public string MyValue {
    get { return textBox1.Text; }
  }
}

Then in Form2 do this:

var frm1 = new Form1();
frm1.ShowDialog(this); // make sure this instance of Form1 is visible
textBox1.Text = frm1.MyValue;

If you want frm1 to be constantly visible then make frm1 a class variable of Form2, and call .Show() in the constructor of Form2 for example.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...