gpt4 book ai didi

c# - 模态对话框弹出后开始漫长的过程

转载 作者:太空宇宙 更新时间:2023-11-03 18:38:38 29 4
gpt4 key购买 nike

我有一个模式对话框,只有一个取消按钮,当用户点击一个按钮时弹出。弹出模式对话框后,我想开始一个监视外部事件的漫长过程。如果事件发生,则对话框将自动关闭。用户可以通过点击取消按钮来取消监控过程。

我将流程开始分配给 Shown 事件

private void ProceedForm_Shown(object sender, System.EventArgs e)
{
controller.StartSwiping();
}

过程本身就是一个循环

public void StartSwiping()
{
Status status;
do
{
status = CallForFeedback();
} while (status == Status.Pending);

form.DialogResult = DialogResult.OK;
form.Close();
}

进程启动正常,但是对话框没有弹出,所以用户不能取消进程。我还尝试将开始分配给 Load 事件,但没有任何改变。有什么方法可以显示对话框,然后启动该过程?

谢谢

最佳答案

您的问题是您正在 UI 线程中执行所有操作。您需要将状态监视循环放在单独的线程中,以便 UI 线程可以保持响应。

有几种方法可以做到这一点,但一个简单的起点是使用 BackgroundWorker class

关于c# - 模态对话框弹出后开始漫长的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11652388/

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