事实证明,最近我一直在用 c# 开发一个带有 windows 窗体的计算器。在计算器中检查异常,当发生异常时,我的想法是在文本框中显示错误,半秒后文本框中的文本等于运算符。建议我使用 Thread.Sleep() 但这会停止整个程序并且不会显示错误消息。代码部分:
TextBox.Text = "Error";
Thread.Sleep(500);
operador = save;
operador = operador.Replace("*", "x");
operador = operador.Replace("/", "÷");
TextBox.Text = operador;
TextBox.Focus();
TextBox.SelectionStart = TextBox.Text.Length;
我建议你使用线程在另一个线程中运行来处理TextBox的值变化,从而在不阻塞整个程序的情况下获得该效果。
这是一个如何使用它的示例:
更短的解决方案:
您将 async 添加到与启动代码的事件关联的方法中,您现在可以异步执行“睡眠”(延迟)
编辑:需要 .Net Framework 4.5 或更高版本。