gpt4 book ai didi

c# - 消息框显示太早 - C#

转载 作者:行者123 更新时间:2023-12-02 14:30:48 25 4
gpt4 key购买 nike

我刚刚开始接触 C# 编程世界,在我的代码中遇到了一个小故障,导致设计被毁。

出于某种原因,当我尝试更改文本框中的文本时,直到显示消息框(位于更改文本的代码下方)后,它才会在视觉上发生变化。我正在为 WP7 编程,如果这改变了什么的话。单击按钮即可运行。

下面是我的代码:

 private void Draw()
{
Random random = new Random((int)DateTime.Now.Ticks);

number[0] = random.Next(0, 9);
number[1] = random.Next(0, 9);
number[2] = random.Next(0, 9);

no1.Text = number[0].ToString();
no2.Text = number[1].ToString();
no3.Text = number[2].ToString();

MessageBox.show("Example message");

}

最佳答案

正如 Russell Troywest 指出的那样,您的代码在 UI 线程上执行,该线程与负责更新图形界面的线程完全相同。因此,在函数退出之前,文本框的视觉表示不会更新。

一个简单的解决方案是延迟消息框的执行:

this.Dispatcher.BeginInvoke(() => MessageBox.show("Example message"));

这样,您的 draw 方法将退出而不显示消息框,然后 UI 线程将在刷新界面后立即显示它。

关于c# - 消息框显示太早 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8505277/

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