gpt4 book ai didi

c# - 强制 WaitCursor 到模态窗体的父窗体

转载 作者:行者123 更新时间:2023-11-30 18:39:31 25 4
gpt4 key购买 nike

我有一个表单,它在 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。但是,当我将鼠标悬停在父表单上时,我总是会看到一个默认光标。

有什么方法可以强制这个 Cursor 甚至设置一个应用程序范围的光标?

编辑:我还尝试在父级的 ShowDialog 代码行之前和之后插入对 Cursor 的更改。它仍然没有用。为了可重用性,我更希望 LoadingPopup 管理光标。

我还尝试在子窗体和父窗体上将 UseWaitCursor 属性设置为 true,结果相同。

最佳答案

你试过吗:

Mouse.OverrideCursor = Cursors.Wait;

关于c# - 强制 WaitCursor 到模态窗体的父窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com