【发布时间】:2019-05-16 00:29:01
【问题描述】:
我正在创建一个时钟程序。我们的办公室工作人员希望能够在特定员工打卡时向他们发送消息。我遇到的问题是,如果要显示多条消息,它会循环到最后一条。
while(reader.Read()
{
richtextbox.Text = reader["Message"].ToString();
//need to pause here and wait for them to press the acknowledge button
{
有没有办法等待或暂停,直到按下确认按钮。
感谢任何帮助。
ps。我尝试过使用
public static class Utils
{
public static Task WhenClicked(this Control target)
{
var tcs = new TaskCompletionSource<object>();
EventHandler onClick = null;
onClick = (sender, e) =>
{
target.Click -= onClick;
tcs.TrySetResult(null);
};
target.Click += onClick;
return tcs.Task;
}
}
来自该线程Wait until a click event has been fired C#,但它做了同样的事情并吹过按钮并再次显示最后一条消息。
【问题讨论】:
-
这是什么程序?它的架构是什么?
-
请显示您尝试使用
WhenClicked。该解决方案应该有效 -
我不确定你想让我给你看什么。 while(reader.Read() { richtextbox.Text = reader["Message"].ToString(); WhenClicked(button1); { 这是我在代码中输入的内容。但就像我说的那样,它跳过了所有其他消息并刚刚展示了最后一个。有什么具体的需要我展示吗?我对此很陌生,感谢任何帮助。我现在想出的工作只是显示一个消息框,其中显示了消息消息框。它可以工作,但很烦人,我不知道该怎么做
标签: c# loops for-loop while-loop