韩国人看中国网剧:C# 中父子窗口的通信问题

来源:百度文库 编辑:高考问答 时间:2024/05/06 00:08:11
C# 中,如何从子窗口的窗口句柄访问子窗口的各种控件?
如何从子窗口控制父窗口的各种控件?

可以通过声明静态变量来实现,或者声明公用变量

ShowModalDialog()

控件能用静态变量吗?编译一次就都完了

你试试看用this做参数传过去给子窗体
在子窗体声明一个form类型的变量

注意父窗体的空间声明成public
试试看
我也没有这么用过

1.在子窗的代码口中存放一个代表父窗口的变量(一般是Form类,你自己定义的类也行)
2.在生成子窗口的时候,将子窗口的那个变量定义为父窗口
3.子窗口在操作的过程中即可以使用父窗口的那个变量对父窗口进行操作
(Form.Controls这个集合包含了窗口中所有控件,你可以根据控件名称或者其他信息进行寻找然后操作)

class Paren:Form
{
***窗口的代码省略
public void ShowChild()//生成并且显示Child的方法
{
Child c = new Child();
c.fa=this;//将子窗口的父窗口变量设置为自己
}

}
class Child:Form
{
public Paren fa;//父窗口的变量,在这里也可以将public的声明改成internal

//因为有了父窗口变量fa,所以就可以通过fa对父窗口进行操作了
}