电脑自带的计算器的科学型中的Sta按钮按下,跳出统计框。当我关闭统计框时,Ave,Sum等按钮又变回Enabled,这个怎么实现?小弟刚开始学C#,各位大牛帮忙指教下,下面是我 点击Sta按钮的代码
form2 fm = null ;
private void buttonSta_Click(object sender, EventArgs e)
{
if (fm == null)
{
fm = new Form2();
fm.Show();
}
else
{
try
{
fm.Show();
fm.Activate(); //激活form2并显示
}
catch //如果窗口已关闭
{
fm = new Form2();
fm.Show();
}
}
buttonAve.Enabled = true;
buttonS.Enabled = true;
buttonSum.Enabled = true;
buttonDat.Enabled = true;
}
form2 fm = null ;
private void buttonSta_Click(object sender, EventArgs e)
{
if (fm == null)
{
fm = new Form2();
fm.Show();
}
else
{
try
{
fm.Show();
fm.Activate(); //激活form2并显示
}
catch //如果窗口已关闭
{
fm = new Form2();
fm.Show();
}
}
buttonAve.Enabled = true;
buttonS.Enabled = true;
buttonSum.Enabled = true;
buttonDat.Enabled = true;
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.FormClosed += new FormClosedEventHandler(f2_FormClosed);//关闭时触发事件
f2.ShowDialog();
} void f2_FormClosed(object sender, FormClosedEventArgs e)
{
//关闭时触发事件
this.button2.Enabled = false;
}
{
var f2 = new Form2();
this.button1.Enabled = false;
f2.FormClosing += (s, ee) => {
this.button1.Enabled = true;
};
f2.Show();
}
fm.Owner = this; //通过Owner把 Form1设置成 Form2的Owner
fm.Show(); 然后在Form2的关闭事件中 加上:this(这个this代表Form2).Owner.button1.Enabled = false;其中Button的声明为 PUBLIC
((Button)(form1)System.Windows.Forms.Application.OpenForms["form1"].Controls["button1"]).Enable=True;
在From2窗体里你想让From1窗体里button变成Enabled=false的地方给ProBisEnabled赋值;在From1窗体里判断ProBisEnabled的值;或者把public bool ProBisEnabled { get; set; }写到一个Utility公共类里。