社区
C#
帖子详情
控件在父窗口关闭时会有哪个事件被触发
xiuxianmajia
2008-07-17 10:11:26
是这样
我继承了DataGridView,希望在窗口关闭时在注册表中记录下列宽,然后下次再打开始恢复列宽
但是找来找去,只找到Dispose可用,但如果在窗口并未被垃圾回收器回收前又打开这个窗口,Disponse并不执行
现在我就凑合着关闭窗口就显示的Dispose一下,很难看
我现在需要一个在窗口Close时会被触发的控件的事件,请高手给点拨下哪个是呢,感激涕零!
...全文
134
11
打赏
收藏
控件在父窗口关闭时会有哪个事件被触发
是这样 我继承了DataGridView,希望在窗口关闭时在注册表中记录下列宽,然后下次再打开始恢复列宽 但是找来找去,只找到Dispose可用,但如果在窗口并未被垃圾回收器回收前又打开这个窗口,Disponse并不执行 现在我就凑合着关闭窗口就显示的Dispose一下,很难看 我现在需要一个在窗口Close时会被触发的控件的事件,请高手给点拨下哪个是呢,感激涕零!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paulin
2008-07-25
打赏
举报
回复
总结的不错~
xiuxianmajia
2008-07-17
打赏
举报
回复
另外:补充说下:我集成的是DataGridView,没有Close可继承
wf5360308,说的有道理,我没考虑到,马上改用XML
xiuxianmajia
2008-07-17
打赏
举报
回复
感谢vwxyzh! HandleDestroyed正是我需要的
总结下模态窗口和非模态窗口,算自己留个笔记加深印象:
1、
以ShowDialog()打开的模态窗口在Close时不会触发Disponse,即便是出了作用域也不会立即触发(这里强调“立即”,隐含的意思是当垃圾回收器运行时,Disponse还是会被触发的)
private void button1_Click(object sender, EventArgs e)
{
Form form1 = new Form();
form1.ShowDialog();
}
上面代码,即使出了button1_Click{....},form1.Disponse()也不会被执行
2、以Show()打开的非模态窗口在以上方面的表现都是反过来的。在Close时它的Disponse会被触发,下面的代码
class class1
{
Form form1 = new Form();
private void button1_Click(object sender, EventArgs e)
{
form1.
Show
();
}
}
第一次点button1程序运行没问题,而再点一次就会报错了,因为前一次close时实例已经不存在了,而换成模态窗口,是可以的
class class1
{
Form form1 = new Form();
private void button1_Click(object sender, EventArgs e) //点一白次也没问题
{
form1.
ShowDialog
();
}
}
guilin_gavin
2008-07-17
打赏
举报
回复
学习中
冷月孤峰
2008-07-17
打赏
举报
回复
一般都是用 FormClosed 和 FormClosing 这两个事件。
在注册表中记录下列宽
=====================
为什么不用XML呢,很多杀毒软件会监控注册表的
vwxyzh
2008-07-17
打赏
举报
回复
试一下HandleDestroyed
paulin
2008-07-17
打赏
举报
回复
closing事件中存取控件相关数据,存在xml文件中
rainxy2000
2008-07-17
打赏
举报
回复
Unload事件中。
smntbk
2008-07-17
打赏
举报
回复
在窗体的FormClosing事件中写不行么?
nextsea
2008-07-17
打赏
举报
回复
FormClosed 和 FormClosing 就行
zzyhuian06142
2008-07-17
打赏
举报
回复
Closing事件看看
父
窗口
关闭
子
窗口
不
关闭
解决办法
父
窗口
关闭
子
窗口
不
关闭
解决办法
showModalDialog 访问
父
窗口
,向
父
窗口
返回值及undefined类型判断,js
触发
服务器
控件
事件
访问
父
窗口
: var parent=window.dialogArguments; //
父
页面路径 //frmAction.ActionReturnURL.value = parent.location; //
父
页面表名--导出页面所需的参数 var TableName=parent.document
QT
父
窗口
析构,子
窗口
不调用析构函数问题(不
关闭
问题)
在使用VS+Qt做图像处理软件项目开发时,有一个
父
(主)
窗口
和若干子
窗口
,点击主
窗口
的按钮,子
窗口
弹出,要求不管子
窗口
打没打开,
关闭
父
窗口
时退出应用程序。 原因分析:
窗口
类有两个函数值得注意,一个是类的析构函数,一个是
窗口
关闭
事件
;当
窗口
关闭
时,调用顺序是先进入
窗口
关闭
事件
,然后进入析构函数,子
窗口
的退出在
父
窗口
的析构函数中。 当子
窗口
显示时,
关闭
父
窗口
,只会进入
窗口
关闭
事件
,而不会进入
父
窗口
的析构函数,因此子
窗口
得以保留;而子
窗口
未显示时,
关闭
父
窗口
,
父
窗口
会依次进入
关闭
事件
和析构函数。 当子
窗口
子
窗口
关闭
刷新
父
窗口
或者某个
控件
事件
或者传递值到
父
窗口
做程序过程,经常遇到弹出新
窗口
设置或者编辑,
关闭
新
窗口
需要在
父
窗口
中刷新部分
控件
或者数据,又不想刷新
父
窗口
整个页面,因为
父
窗口
部分输入或者部分操作会因为重新刷新重置。比如:通过弹出
窗口
来编辑和新增信息,当保存完成 子
窗口
关闭
时自动刷新
父
页面上的一个gridview,将数据显示出来。通过jsp的 window.parent.opener.document.getElementById()解决这个问题
帆软10.0实现弹出
窗口
后,
关闭
弹出的
父
窗口
在做项目的时候遇到一个问题,点击某个链接弹出
窗口
后,再弹出的
窗口
再点删除按钮弹出确认删除
窗口
后,点击确定后没有
关闭
父
窗口
。 解决办法: 在
父
窗口
的页面上增加一个按钮,设置可用,不可见,设置
控件
名称为btn_gd ,设置点击
事件
,JS代码 window.parent.FR.closeDialog();//
关闭
窗口
window.parent.location.reload();//刷新
父
页面 在弹出的子
窗口
上的填报成功调用
父
窗口
的按钮
事件
FR.Msg.toast("删除成功!"); setT..
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章