c# - 在 FormClosing 事件之前清除 Form 中的所有元素
问题描述
我想检查表单关闭事件的标签值:
private void FrmDialog_FormClosing(object sender,
System.Windows.Forms.FormClosingEventArgs e)
{
if(label.Text == "something")
{
doSomething();
}
}
但是,似乎表单中的所有元素都在 FormClosing 事件之前被清除,因为标签为空。有什么办法可以做我所描述的吗?
解决方案
除了 中的输入错误之外label.Text
,您可以确定在事件 Form.Closing 的事件处理期间,您没有自行处理的每个控件仍然可以正常工作。即使在 Form.Closed 期间并且在protected override void Dispose(bool disposing)
控件期间应该仍然存在,否则,它们不能被处置,可以吗。
如果您的调试器另有说明,请检查您是否真的订阅了事件 Form.Closing。在 procedure 中放置一个断点Dispose(bool disposing)
,并检查是否在 Dispose 之前调用了您的事件处理程序。
推荐阅读
- python - 使用 python 套接字的 FIN/ACK 通知
- reactjs - 如何使用socket.io在本机反应中为Web基础应用程序创建与后端服务器的聊天连接?
- python - Python:尽管明显存在,但看不到功能
- vb.net - 是否可以在未安装引擎的情况下使用 ADODB/OleDB 连接?
- ruby-on-rails - 如何在变量中添加数组并通过get方法将其发送到url
- excel - 过滤列表范围内的唯一值
- c# - 当我使用参数化查询时出现此错误(必须声明标量变量@“regNo”)
- java - 尝试通过android调用JSON api时出现无效请求错误
- android - 适用于 Ios 和 Android 的一种 URL 方案
- javascript - React Native:使用 FlatList 和 DatePicker 创建时间列表