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

在子窗体内如何更改父窗体的控件
比如在子窗体中等待时设置父窗体鼠标状态为等待状态结束时还原鼠标默认值,子窗体在父窗体内。子窗体更改父窗体内Timer控件的运行状态等。谢谢!

------解决方案--------------------
你只要是子窗体中调用就可以了.
那样就可以改了,不过你首先要看自己要更改父窗体的哪个控件...
比喻说;
在form1中, 有textbox
在form2 中,也有textbox
public string textbox
{
get
{
textbox.text = value;
}
}
你只需在form1中设置
using (Form2 form = new form ())
{
form.ShowDialog();
this.textbox.text = form.textbox;
}
这样就可以,你就可以改变的啦, 其它的控件也差不多的.看你怎么去做.
------解决方案--------------------
用事件

first:
在子窗體里定義事件
在主窗體里注冊事件

second:
在子窗體里觸發事件
在主窗體里處理事件 -> 修改自身的控件.

------解决方案--------------------
同意楼上的,用事件或定义委托

或者在子窗体中加入主窗体实例的引用
如: Form2 frm=new Form2(this);
并且把你要处理的控件或变量设置为public