我的程序中有两种形式。我在他们两个都有一个文本框和一个按钮。当我单击 form1 中的按钮时,使用 form2 显示showdialog();
当我在 form2 中输入文本框并单击此表单中的按钮时,form2 关闭并且焦点位于 form1 上,并且我在 form2 中输入的文本被传输到 form1 上的文本框.
我该怎么做?
就像是:
Window form2 = new Form2();
form2.ShowDialog();
this.textBox1 = form2.TextBoxValue;
在哪里form2
定义了一个属性:
public string TextBoxValue {
get { return textBox2.Text; }
}
如果您不关心安全性,最简单的方法是将form1 中的TextBox 声明为public,然后从form2 更改其文本属性。
在 form2 中,您必须将文本框修饰符属性更改为 public。这将使设计器为文本框生成一个公共属性,以便您可以在任何地方访问它。
当 form2 关闭时,您只需执行以下操作:
myTextbox.Text = form2.textBox1.Text;
试试这个:
(按顺序)在 Form1 上:
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Showdialog();
this.Hide();
}
然后Form2:
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(textBox2.Text);
frm2.Showdialog();
this.Hide();
}
然后表格1:
public partial class Form1 : Form
{
public string textBoxValue;
public Form1()
{
InitializeComponent();
}
public Form1(string textBoxValue)
{
InitializeComponent();
this.textBoxValue = textBoxValue;
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = textBoxValue;
}