gpt4 book ai didi

c# - 我如何在 C# 中实现仅在某些用户事件发生时才返回的方法?

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

我得到的是类似 OpenFileDialog.Show() 的方法,它会在不确定的时间后返回,仅在用户执行某些操作后(在这种情况下按“确定”)。好吧,我知道我可以通过从对话框、窗体或类似的东西继承子类来实现对话框控件的类似功能。但是,如果我想为与对话完全无关的事情做这件事怎么办,例如我想编写一个 InputStringToTextbox() 方法,只有在用户将合法字符串输入到表单的文本框中并按下 Enter 后才会返回。

我对线程的概念和 C# 的 BeginInvoke/EndInvoke 东西有一些基本的了解,但我不太明白如何将这些想法应用到这种特定情况。

最佳答案

如果需要阻塞线程,引用ManualResetEventAutoResetEvent类。这些是基本的同步类型,没有像 Monitor 这样的额外包袱。 ,事实上,许多 .NET 同步类型都是在它们之上构建的。

这是一个简短的示例,用于演示您提供的上下文的用法。

static class ThreadEntryPoints
{
public static Main()
{
ShowDialog();
}

public static Other_Main()
{
// ... do some work ...
_event.Set();
}

private static ShowDialog()
{
// ... do some work ...
_event.WaitOne(/* optionally set timeout */);
}

private static readonly ManualResetEvent _event = new ManualResetEvent(false);
}

关于c# - 我如何在 C# 中实现仅在某些用户事件发生时才返回的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1077203/

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