主题听起来是相互排斥的,这可能是一个可怕的黑客,但我还是会问。
我有一个单线程 VB.NET 应用程序,它将状态栏标签设置为“正在加载...”,然后从数据库同步加载数据,在某些情况下可能需要 1-2 分钟。有没有办法在加载数据时向用户显示 AJAX 类型的动画?当然,正确的方法是使用单独的线程/BackgroundWorker 进行数据访问和单独管理 UI,但我目前无法更改数据访问模型并被要求“临时修复”。
以下是我目前的一些想法:
从另一个线程更新标签(并且只有那个标签),强制重绘,以某种方式绕过 windows 窗体消息泵(可能不可能)
在后台保持另一个进程并从主应用程序向它发送“显示”消息。它显示在应用程序前面,显示动画,直到收到来自主应用程序的“隐藏”消息。(用户从主应用程序切换但“动画”表单仍然可见的问题)