Winfrom子窗体关闭时如何为主窗体的TextBox赋值
子窗体中有个按钮,一个TextBox1,点击按钮时获取TextBox的值,然后子窗体关闭,主窗体里TextBox显示TextBox1的值 Winfrom 窗体传值
[解决办法]
http://www.cnblogs.com/cosoft/archive/2011/08/08/2130659.html
[解决办法]
主窗体:
按钮事件:
Form2 frm = new Form2();
if (frm.ShowDialog() == DialogResult.OK)
{
textBox1.Text = frm.TextValue;
}
子窗体:
属性: public string TextValue
{
get { return textBox1.Text; }
set { textBox1.Text = value; }
}
点击按钮事件:
TextValue = textBox1.Text;
this.DialogResult = DialogResult.OK;
[解决办法]
在子画面里
public string value = "";
//点击时把子画面TEXTBOX里的值付给变量value
private void button1_Click(object sender, EventArgs e)
{
value = this.textBox1.Text;
}
private void Form2_Load(object sender, EventArgs e)
{
this.textBox1.Text = "123";
}
//子画面关闭时把变量value的值给予主画面的textBox1
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
((Form1)this.Owner).textBox1.Text = value;
}
在主画面里
Form2 frm = new Form2();
frm.Owner = this;
[解决办法]
public partial class Form1 : Form
{
TextBox txtBox;
public Form1()
{
InitializeComponent();
this.Controls.Add(txtBox = new TextBox());
Form2 f2 = new Form2();
f2.ShowDialog(this);
txtBox.Text = f2.txtBox.Text;
}
}
class Form2 : Form
{
public TextBox txtBox;
private Button btn;
public Form2()
{
Control[] controls =
{
txtBox = new TextBox() { Location = new Point(0, 0) },
btn = new Button() { Location = new Point(0, 20),Text="点击关闭窗口" }
};
this.Controls.AddRange(controls);
btn.Click += delegate(object sender, EventArgs e) { this.Close(); };
}
}