我有StatusStrip
一个ToolStripProgressBar
和一个ToolStripStatusLabel
。当我需要更新它们的值时,即使我在progressChanged
事件中这样做,我也面临着跨线程操作问题。所以通常我需要Invoke
在检查控件的InvokeRequired
属性后通过控件的方法来处理它。但在这种情况下,要么ToolStripProgressBar
或ToolStripStatusLabel
不具有该属性或该方法。下面是引发异常的代码片段。
调用它们的正确方法是什么?
void Uploader_ProgressChanged ( object sender, ProgressChangedEventArgs e )
{
//ProgressBar is of type ToolStripProgressBar here throws exception
CF.ProgressBar.Value += e.ProgressPercentage;
if ( e.UserState != null )
{
// throws exception
CF.ProgressStatusLabel.Text = "Uploading " + e.UserState;
}
}