我有一个表单,在后台线程执行工作时显示加载动画,工作完成后关闭。以下是显示它的代码:
我的LoadingPopup表单在OnShown中启动后台工作器,并在后台工作器完成后关闭自身。
如果用户悬停在父表单或子表单的任何部分上,我希望显示等待光标。
我尝试在LoadingPopup的OnShown事件中添加代码来设置Parent.Cursor、Owner.Cursor、this.Cursor和Cursor.Current为WaitCursor,然后在OnClosed事件中将它们设置回Cursor.Default。但是当我悬停在父表单上时,我总是得到一个默认光标。
有没有办法强制设置这个光标,甚至设置一个应用程序范围内的光标?
编辑:我还尝试在父表单的ShowDialog代码行之前和之后插入对光标的更改。它仍然不起作用。无论如何,我更希望LoadingPopup管理光标以实现可重用性。
我还尝试在子表单和父表单上将UseWaitCursor属性设置为true,结果相同。
using (BackgroundWorker bw = new BackgroundWorker())
using (LoadingPopup loadingPopup = new LoadingPopup(bw))
{
bw.DoWork += delegate
{
DoMyWork();
};
loadingPopup.ShowDialog(this);
}
我的LoadingPopup表单在OnShown中启动后台工作器,并在后台工作器完成后关闭自身。
如果用户悬停在父表单或子表单的任何部分上,我希望显示等待光标。
我尝试在LoadingPopup的OnShown事件中添加代码来设置Parent.Cursor、Owner.Cursor、this.Cursor和Cursor.Current为WaitCursor,然后在OnClosed事件中将它们设置回Cursor.Default。但是当我悬停在父表单上时,我总是得到一个默认光标。
有没有办法强制设置这个光标,甚至设置一个应用程序范围内的光标?
编辑:我还尝试在父表单的ShowDialog代码行之前和之后插入对光标的更改。它仍然不起作用。无论如何,我更希望LoadingPopup管理光标以实现可重用性。
我还尝试在子表单和父表单上将UseWaitCursor属性设置为true,结果相同。