gpt4 book ai didi

C#:两种形式,一种是调用另一种

转载 作者:行者123 更新时间:2023-11-30 14:42:50 25 4
gpt4 key购买 nike

我有这样的问题,我有两个 Winforms,f1 和 f2。

f1 将在单击按钮时启动一个循环,此循环检查一个条件 并决定调用是否为 f2 的另一个表单。

问题是,循环可能多次调用 f2,因此每次调用另一个表单 f2 时,第一个表单 f1 都应该暂停执行

所以,我是这样解决的,我使用了backgroundWorker + AutoResetEvent。我将 backgroundWorker 放在第一种形式中,并放在我称为 f2.Show() 的 DoWork 事件处理程序中然后我在 AutoResetEvent 上调用了 WaitOne 让它成为 A。

在另一种形式“f2”中,我在退出按钮上调用了同一个 A 上的 Set

但是,不幸的是,在 f1 中单击该按钮时,f2 被卡住了,我应该更改什么??

最佳答案

与其处理线程和重置事件,为什么不直接调用窗体 F2 作为对话框?

var f2 = new Form2();
// ...
f2.ShowDialog(this);

这样 F1 上的过程只会在 form2 完成后继续。

关于C#:两种形式,一种是调用另一种,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791999/

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