主窗体 弹出框,经验总结

前段时间做的无线无源的测温项目,弹出框的制作思路:都是利用.show()完成。

问题就来了:触发一次,弹出一个框,显然达不到要求,后来通过窗体间传值,

                将窗体第一次触发后,就将触发条件屏蔽,直到弹出框销毁,再开启触发。

 其实,弹出框完全可以用.showdialog()完成。

        但是,这种方式在该弹出框未销毁的时候,不能操作其他的内容,适用于欢迎页的制作,关于页的制作等等。

而上面提到的方面,可以实现弹出框存在仅存在一个的时候,实现对其他内容的操作,但是实现有点复杂。

         实质:窗体见传值!

弹出框

 1  public delegate void Operate(bool flag);//声明一个委托

 2         public Operate operate;//委托的实例化,用于控制打开此窗体的打开按钮的Enable属性

 3 

 4         private void Form25_Load(object sender, EventArgs e)

 5         {

 6             if (operate != null)

 7             {

 8                 operate(false);

 9             }

10
1 private void Form25_FormClosing(object sender, FormClosingEventArgs e)

2 {

3 if (operate != null)

4 {

5 operate(true);

6 }

7 }

 

 

主窗体

 1   private void 温度偏移量配置ToolStripMenuItem_Click(object sender, EventArgs e)

 2         {

 3             fr25 = new Form25();//温度偏移量配置

 4             fr25.operate = Set_温度偏移量配置ToolStripMenuItem_enable;

 5             fr25.Show();

 6             fr25.operate_wendupianyiliang = Operate_TemperaturePianYiLiang;

 7         }

 8  private void Set_温度偏移量配置ToolStripMenuItem_enable(bool flag)

 9         {

10             this.温度偏移量配置ToolStripMenuItem.Enabled = flag;

11         }

 

你可能感兴趣的:(弹出框)