C# 设置ToolStripProgressBar时出现NullReferenceException';s值
我在使用C# 设置ToolStripProgressBar时出现NullReferenceException';s值,c#,winforms,progress-bar,C#,Winforms,Progress Bar,我在使用ToolStripProgressBar时遇到以下问题(但在使用ProgressBar时不会发生) 我有一个默认的表单和一个状态条,在状态条上有一个名为toolStripProgressBar1的ToolStripProgressBar。我有一个FormClosing事件处理程序。以下代码在toolStripProgressBar1.Value=i行上抛出一个NullReferenceException当我关闭表单时: 公共部分类表单1:表单 { 进展测试进展; 公共表格1() { 初始
ToolStripProgressBar
时遇到以下问题(但在使用ProgressBar
时不会发生)
我有一个默认的表单
和一个状态条
,在状态条
上有一个名为toolStripProgressBar1
的ToolStripProgressBar
。我有一个FormClosing
事件处理程序。以下代码在toolStripProgressBar1.Value=i行上抛出一个NullReferenceException
代码>当我关闭表单时:
公共部分类表单1:表单
{
进展测试进展;
公共表格1()
{
初始化组件();
testProgress=新进度(i=>
{
toolStripProgressBar1.Value=i;
});
}
私有作废Form1\u FormClosing(对象发送方,FormClosingEventArgs e)
{
报告(5);
}
}
根据调试器,异常发生时,toolStripProgressBar1
不是null
,但是它的许多字段和属性都是null
,原因我无法想象。有人能告诉我为什么会出现此异常吗?设置值时,tooltrip进度条(属性)的包装进度条控件已被释放。这不仅是在处理FormClosing
时调用操作时发生的,而且在覆盖OnFormClosing
时也会发生,因为您正处于Closing
中,我怀疑框架已开始清理UI对象,导致意外的空值。但很难说清楚。