日期:2014-05-19  浏览次数:20912 次

高分求菜鸟问题—如何控制一个已经实例华窗体上的控件属性
窗体1   form1
textbox1再窗体1中
窗体2   form2
button1在窗体2中

窗体1中代码
Form   frm   =new   form1();
frm.showDialog();

窗体2中按button1按钮可以修改窗体1form1中textbox1.text属性问怎么实现

textbox1的modifier属性已经设为public。

谢谢各位大虾。。。

------解决方案--------------------
//Form1.cs
public partial class Form1 : Form
{
public string MyText
{
get
{
return textBox1.Text;
}
set
{
textBox1.Text = value;
}
}
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(this);
frm.ShowDialog();
}
}

//Form2.cs
public partial class Form2 : Form
{
Form1 form1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 f)
{
InitializeComponent();
this.form1 = f;
}
private void button1_Click(object sender, EventArgs e)
{
form1.MyText = "abc ";
}
}
------解决方案--------------------
使用代理 
public delegate void SendToForm1();

form2:
private SendToForm1 sendToForm1;

private void button1_Click(object sender, EventArgs e)
{
this.sendToForm1();
}

form1:
Form2 form2 = new From2();
form2.sendToForm1 = new SendToForm1(DealForm2Info);

private void DealForm2Info()
{
//在这里写form2中点了button1后,form1需要做的处理
}