影响我的程序的消息框

本文关键字:消息 程序 我的 影响 | 更新日期: 2023-09-27 18:11:28

我正在为windows 8制作游戏作为metro应用程序。当我执行以下代码而不显示消息框时,它根本没有响应。当我显示消息框时,整个代码工作正常。有什么问题吗?有人能帮我吗?

public async void move()
    {
        Random rand = new Random();
        int i = 0;
        while (i<5)
        {
            Anim.Begin();
            int n = rand.Next(97, 123);
            char ch = (char)n;
            textBlock10.Text =textBlock9.Text;
            textBlock9.Text = textBlock8.Text;
            textBlock8.Text = textBlock7.Text;
            textBlock7.Text = textBlock6.Text;
            textBlock6.Text = textBlock5.Text;
            textBlock5.Text = textBlock4.Text;
            textBlock4.Text = textBlock3.Text;
            textBlock3.Text = textBlock2.Text;
            textBlock2.Text = textBlock1.Text;
            textBlock1.Text = textBlock.Text;
            textBlock.Text = ch.ToString();
            /*MessageDialog msg = new MessageDialog("test");
            msg.Commands.Add(new UICommand("ÿes", null, "YES"));
            msg.Commands.Add(new UICommand("no", null, "NO"));
            var op = await msg.ShowAsync();//Showing the message
            if ((string)op.Id == "YES")
                this.Frame.Navigate(typeof(MainPage), null);
            */System.Threading.Tasks.Task.Delay(50);
            Anim.Stop();
        }
    }

上述函数用于使用文本块将数据从屏幕上的一个点移动到另一个点。动画是将这些文本块移动到下一个位置的故事板。

影响我的程序的消息框

将"await"放在Task.Delay(50)前面;

await System.Threading.Tasks.Task.Delay(50);

否则你实现一个无限循环,应用程序没有响应,因为你正在燃烧你的CPU:-)