Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置ToolStripProgressBar时出现NullReferenceException';s值_C#_Winforms_Progress Bar - Fatal编程技术网

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对象,导致意外的空值。但很难说清楚。