winform如何在一个form中修改另一个form控件属性

来源:百度知道 编辑:UC知道 时间:2024/06/07 07:04:03
一个父窗体form1 几个子窗体form11、form12、form13.....每个对应form1上的一个button(如form11对应button1、form12对应button2......)
现在要实现这样的功能:当点击button1时,弹出form11,同时button1隐藏或不可用,当关闭form11时button1状态改回可用
注:不采用对话框模式打开,因为可能需要同时打开多个子窗体,但又不能同一个窗体打开多个,所以要求这样,请教高手

1.先解决button1不可用的问题
第一个解决办法就是当点击button1时设置Form11可见并且同时设置button1不可用 这个是在form1中就可以实现的
第二个解决办法>既然你提到了“修改另一个form控件属性” 这种情况我以前回答过你可以参考
http://zhidao.baidu.com/question/126007253.html
关于委托也可以参考我的另一个回答
http://zhidao.baidu.com/question/125931172.html

2.解决不能同一个窗体打开多个问题
比如当你点击button1时 要先行判断Form11的Visible属性 如果为true直接return

3.建议
类似你这样多窗体的程序 最好使用isMdiContainer属性 也就是一个父容器的类型

你可以这样解决:(举例)
点击Button1事件
private void button1_Click(object sender, EventArgs e)
{
this.form1.show();
this.button1.visiable=false;
}
关闭form1事件
private void closing(object sender, FormClosingEventArgs e)
{
this.button.visable=true;