c# - 强制循环等待事件

标签 c# loops event-handling

我正在尝试编写一种遍历项目列表的方法 - 将每个项目添加到表单中,然后等待用户输入一些数据并单击按钮。但是我不知道我应该/可以使用什么来创建它。

foreach (string s in List)
{
    txtName.Text = s;
    //wait for button click...

    // When the user is ready, they click the button to continue the loop.
}

到目前为止,我只找到了EventWaitHandle类,它似乎只适用于线程。

我怎样才能做到这一点?

最佳答案

如果您还使用 async/await, 可以使用信号来执行此操作 - 例如,您可以等待通过单击按钮完成的任务 - 但通常您应该考虑以更加事件驱动的方式介绍用户界面。

与其让您的 foreach 在这里循环,不如在正在显示的项目的集合中保留一个索引,并在每次单击按钮时推进它。 (当然,记得检查是否还有要显示的项目。)

关于c# - 强制循环等待事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32836563/

相关文章:

c# - 如何在单击按钮时保持 boolean 值的状态?

c# - javascript 未在 ASP.NET MVC 中调用

C : While taking user input in while loop, 它作为无限循环 - 用户输入

jQuery UI 模式对话框 : Prevent keypressed when dialog is open

C# LastIndexOf 没有给出正确的结果

c# - 将自定义类序列化为 XML

loops - 是否有 Raku 函数/方法允许迭代排序的哈希数组并确定其最大值?

python - 在循环中使用分层索引从 Pandas 数据帧创建子集表

javascript - jquery.delegate 什么时候调用事件处理器?

c# - C# 中的触发事件会阻止当前线程执行吗?