博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
只打开一个子窗体
阅读量:5891 次
发布时间:2019-06-19

本文共 923 字,大约阅读时间需要 3 分钟。

在程序处理过程中,某一个功能可能需要打开一个窗体来设置参数,我们需要用户只能打开一个子窗体,可能通过判断窗体对象是否为空来实现。

//判断窗体是否重新实例化       private frmAutoSave fas = null;        protected override void OnClick()        {            try            {                if (fas == null)                {                    fas = new frmAutoSave(timer);                    fas.Show();                }                else                {                    fas.Show();                }            }            catch (Exception exp)            {                MessageBoxEx.Show(exp.Message + exp.StackTrace);            }        }

  

但是,用户在关闭窗体时,不能释放对象,所以要重写关闭事件:

//重写关闭事件protected virtual void frmAutoSave_FormClosing(object sender, FormClosingEventArgs e){    e.Cancel = true;    this.Hide();}

  其中,Cancel属性是获取或设置指示是否应取消事件的值。即取消当前关闭事件的执行。这样的功能很有用,比如MSDN上说的一个例子:如果程序关闭的时候数据没有保存(可以用一个Bool变量为判断),就是关闭事件中设置Cancel属性为true,这样程序就不会关闭了。

参考:

转载于:https://www.cnblogs.com/liweis/p/4582377.html

你可能感兴趣的文章
路徑 z
查看>>
cpu分析简介
查看>>
1.备忘录模式
查看>>
Html学习笔记3
查看>>
杭州见闻
查看>>
What is Xeround?
查看>>
[转载]jQuery上传插件Uploadify使用详解
查看>>
算法学习的轨迹(转)
查看>>
asmx-web-service-basic-authentication
查看>>
Excel转换成图片的操作方法
查看>>
MFC中读取和设置文件状态
查看>>
分页显示
查看>>
iOS中安全结束 子线程 的方法
查看>>
批处理学习笔记8 - 深入学习For命令1
查看>>
Object-c学习之路二(oc内存管理黄金法则1)
查看>>
python开发_python文件操作
查看>>
iPhone 已停用
查看>>
CSS3之边框图片border-image
查看>>
图片轮换cycle插件的运用
查看>>
【Oracle】两个表Join关联更新
查看>>