如图,点击Form2里的确定之后,Form1“新建”的Enabled变为false,点击Form2的“取消”后,Form1“删除”的Enabled变为false
修改代码使之点击Form2里的确定之后,自动修改Form1“新建”的Enabled=false
2楼那个应该就能解决
首先在Form1里面,自己写两个个事件
button1_change(object render,Event e)
{
button1.enable=“falese”;
}
button2_change(object render,Event e)
{
button2.enable =“falese”;
}
Form1的button1指的是新建,button2指的是删除
Form2的button1指的是确定,button2指的是取消
然后在Form2里面定义,
private Form1 form1;
public Form1 form1
{
get{return form1};
set{form1 = value};
}
最后在Form2的button1_click事件里面添加:this.form1.button1_change;
在Form2的button2_click事件里添加:this.form1.button2_change;
可以用API SendMessage,进程间通信,一个进程像另一个进程传递参数来实现各种效果。网上实例代码一大堆,很简单。
同意,知常曰明 楼上的方法
简单来说,就是在Form2的确定按钮的Click事件中,加上一句:Form1.Button1.Enabled = false;
但是,Form1哪里来成为一个问题。你前面没有介绍这两个Form之间的关系,所以没法直接回答你。
一般来说,可以选择的方法有:
a)把Form1作为参数传递给Form2
b)把Form1作为一个全局的对象
c)把Form1作为某一个Form2可获取的对象的属性
简单做法是在Form2
声明一个 Form1 form1;
然后在创建 Form2 form2 = new Form2();
form2.form1 = new Form1();
这样在Form2 可以随意引用Form2 的内容了。
注意:你也可以给 form2.form1赋值方法进行引用。
Form2中引用Form1的实例,
在事件中直接修改form1.Button1.Enabled 属性
建议看一下关于QT的书,这会帮助你解决这个问题