我有一个窗体,它在BackgroundWorker工作时显示加载动画,并在工作完成时关闭。我用下面的代码展示它:
using (BackgroundWorker bw = new BackgroundWorker())
using (LoadingPopup loadingPopup = new LoadingPopup(bw))
{
bw.DoWork += delegate
{
DoMyWork();
};
loadingPopup.ShowDialog(this);
}
我的LoadingPopup表单在OnShown中启动后台工作程序,当后台工作程序完成时,它会自行关闭。
如果用户将鼠标悬停在父窗体或子窗体的任何部分上,我希望显示WaitCursor。
我尝试在LoadingPopup OnShown事件中添加代码,将Parent.Cursor、Owner.Cursor、this.Cursor和Cursor.Current设置为WaitCursor,然后在OnClosed事件中将它们设置回Cursor.Default。但是当我将鼠标悬停在父窗体上时,我总是得到一个Default光标。
有什么方法可以强制这个游标,甚至设置一个应用程序范围的游标?
编辑:我还尝试在父级中ShowDialog代码行的前后插入对游标的更改。还是不行。我更喜欢LoadingPopup管理光标无论如何可重用性。
我还尝试在子窗体和父窗体上都将DataWaitCursor属性设置为true,结果相同。
1条答案
按热度按时间ilmyapht1#
您是否尝试过: