gpt4 book ai didi

c# - 显示 "please wait"消息框

转载 作者:行者123 更新时间:2023-11-30 19:02:25 24 4
gpt4 key购买 nike

我想在我的主窗体执行一项冗长的任务时显示一个“请稍候”消息框。至于我的情况,冗长的任务是传输串行协议(protocol)。下面是我的代码:

public void transmitprotocol()
{
try
{
MessageBox.Show("Please wait. Uploading logo.", "Status");

// Transmitting protocol coding here. Takes around 2 minutes to finish.

}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}

我已经像上面的编码一样使用 MessageBox 尝试了上述方法,但我总是必须关闭 MessageBox 只有它才会开始传输协议(protocol)。有什么方法可以让我在传输协议(protocol)时仍然显示“请稍候”MessageBox?

最佳答案

您将需要在后台线程上执行昂贵的操作。为此,请使用 BackgroundWorker或新的并行化库(.NET 4 等)。

实际上您需要关闭对话框,因为它会阻止执行直到您关闭它。您要做的是开始操作,然后显示对话框,然后,操作完成后关闭对话框。

现在,如果您使用的是 WPF,我强烈建议您不要使用对话框,而是使用 Busy Indicator。 ,它是免费的,非常易于使用,而且不像消息框那么难看。

编辑:既然您指定了您使用的是 WinForms,那么继续吧,实现有效的背景,为什么不实现一个没有 chrome 的透明窗口,其目的是显示 Busy 标签。一旦后台工作人员结束,您就关闭该窗口。

enter image description here

关于c# - 显示 "please wait"消息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12505768/

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