我有一个表单,需要几秒钟才能最终显示出来。此表单通过以下方式调用:

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设置为游标而不是父窗体是一个可接受的解决方案吗?让它在开始代码之前设置光标,这需要花费所有的时间,然后在最后设置它。

10-06 05:00