我有一个表单,需要几秒钟才能最终显示出来。此表单通过以下方式调用:
using (ResultsForm frm = new ResultsForm())
{
this.Visible = false;
frm.ShowDialog();
this.Visible = true;
}
在等待表单最终显示时,将默认光标设置为
Cursors.WaitCursor
非常有用。目前,我似乎只能通过使用静态“current”属性才能成功完成此操作:using (ResultsForm frm = new ResultsForm())
{
//this.Visible = false;
Cursor.Current = Cursors.WaitCursor;
frm.ShowDialog();
//this.Visible = true;
}
但这有两个问题:
它迫使我禁用我想保留的主窗体隐藏功能。
它增加了耦合,因为需要在resultsform显示的事件中调用
Cursor.Current = Cursor.Default;
。如何在加载窗体时更改光标而不更改第一个代码段,同时避免耦合?
更新:
现在问题得到了回答,删除了视频演示,这样我就不会超过ISP的带宽限制。
最佳答案
为什么要删除this.visible=false?您应该仍然可以在设置光标时执行此操作。
将resultsform设置为游标而不是父窗体是一个可接受的解决方案吗?让它在开始代码之前设置光标,这需要花费所有的时间,然后在最后设置它。