C#,from1为启动窗体,button不可使用,在form2中点击确定后,form1中的button才可以使用
from1为启动窗体,中的button1不可用,点击from1中的button2按钮,之后弹出form2,点击form2中的button3之后,form1中的button...
from1为启动窗体,中的button1不可用,点击from1中的button2按钮,之后弹出form2,点击form2中的button3之后,form1中的button1才可以使用,这个过程怎么实现???
展开
2个回答
展开全部
Form1.cs
public static Button button;
public Form1()
{
InitializeComponent();
button = button1;//button1就是你所指的
}
Form2.cs
Form1.button.Enabled = true;
已测试可用.有不明白的再联系我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的主要是想实现窗体间传递消息,简单一点的话,可以在form1放一个Timer,实时侦测form2的button3的是否按下;
主要代码:
form1定义一个全局类的静态变量,用于记录是否button3被按下
public static class MyClass
{
public static bool bl_clicked=false;
}
form1_load:
button1.Enabled = false;
timer1.Interval=1000;
timer1.Enabled=true;
button2_click:
Form2 frm=new Form2();
frm.Show();
timer1_trick:
if(bl_clicked)
{
button1.Enabled=true;
timer1.Enabled=false;
}
//--------------------------Form2---------------------------
button3_click:
Form1.MyClass.bl_clicked=true;
主要代码就是以上这些,手码的难免有误,请检查语法再运行;
主要代码:
form1定义一个全局类的静态变量,用于记录是否button3被按下
public static class MyClass
{
public static bool bl_clicked=false;
}
form1_load:
button1.Enabled = false;
timer1.Interval=1000;
timer1.Enabled=true;
button2_click:
Form2 frm=new Form2();
frm.Show();
timer1_trick:
if(bl_clicked)
{
button1.Enabled=true;
timer1.Enabled=false;
}
//--------------------------Form2---------------------------
button3_click:
Form1.MyClass.bl_clicked=true;
主要代码就是以上这些,手码的难免有误,请检查语法再运行;
追问
是否可以考虑用form之间传递参数来实现?还有,侦测是否按下之后还要改变button1的可用性。
追答
复杂一点的可以通过发送消息实现,通过form2发送消息给form1,form1接收到消息后就设置button1的属性即可;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询