gpt4 book ai didi

c# - Winforms 加载窗口不加载

转载 作者:太空宇宙 更新时间:2023-11-03 21:02:45 24 4
gpt4 key购买 nike

在我的 (C#) 应用程序中,用户在一个窗口中单击一个按钮,发生一堆耗时的计算,然后显示另一个窗口。我想在这些耗时的计算过程中设置一个加载窗口,以便用户知道正在发生的事情。

大多数这些耗时的计算都不是线程安全的,而且我读到的大部分内容都说我应该使用相同的线程并创建一个简单的 Winform 作为我的加载窗口。问题是加载窗口没有加载。这是一个带有“正在加载...”标签的小窗口。当我调用 LoadingWindow.Show(); 时,标签没有加载(应该加载的地方只有一个白框)。

我在 Shown 事件处理程序中插入了一些伪代码,但它没有触发。

我做错了什么吗?或者有没有办法强制线程等待,直到加载窗口完全加载?

Code:
LoadingWindow loadingWindow = new LoadingWindow();
using (var firstDialog = new FirstDialog())
{
var firstResult = firstDialog.ShowDialog();
loadingWindow.Show();
// do a bunch of time-consuming stuff
loadingWindow.Close();
}

最佳答案

当您尝试显示加载屏幕时,您将 firstDialog 显示为对话窗口。我建议首先尝试将您的 loadingWindow 显示为对话窗口,然后再显示为另一个。代码如下。

LoadingWindow loadingWindow = new LoadingWindow();
using (var firstDialog = new FirstDialog())
{
loadingWindow.ShowDialog();
var firstResult = firstDialog.ShowDialog();
// do a bunch of time-consuming stuff
loadingWindow.Close();
}

关于c# - Winforms 加载窗口不加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43688858/

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