我正在使用c#创建Excel VSTO。我的操作很简单,只需右键单击单元格并单击“更新”,显示进度状态的winform将提示输出并启动表单上的控件绑定到用户进程控制器。
问题是现在该进程已在表单完全加载之前启动并执行,是否有一种方法可以阻止用户进程控制器执行,然后才能完全显示和加载进度状态表单上的所有控件?下图描绘了我的状况。
我试图将我的User Process Controller调用设置为Form Activated,Shown,Loaded,并且没有任何效果。
答案 0 :(得分:0)
我发现了一个克服这个问题的“黑客”。我添加了一个backgroundworker并在Form Constructor上完成了以下代码。
void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
UpdateUPC upc = new UpdateUPC();
upc.txtUpdateSummary = txtUpdateProgress;
upc.updateProgressBar = UpdateProgressBar;
upc.UpdateStatusOnItem();
}
在BackgroundWorker的DoWork事件
上{{1}}
最后,我在Run Worker Completed中添加了以下代码
{{1}}
我理解上述内容可能不是一个可接受的解决方案,但它可能只是为该问题提供了一种解决方法。但是,如果有任何人有更好的解决方案,请随时提出您的建议。