如何在线程进入计时器之前输出文本?

时间:2018-12-10 18:00:07

标签: c# winforms

     private void timer1_Tick_1(object sender, EventArgs e)
{
if (...)
                    {
                        string sieg = "...";

                    {
                        richTextBox1.Text = sieg;
                    }    

                    if (...)
                    {
                        System.Threading.Thread.Sleep(1000);
                        Application.Exit();
                    }
                }
                    if (...)
                    {
                        string lose = "...";
                        richTextBox1.Text = lose;

                        if (...)
                        {
                        System.Threading.Thread.Sleep(10000);
                        Application.Exit();
                        }

}

我点了不重要的线 我的问题是以下问题,因为我在RichTextbox中给出了一些内容,然后进入睡眠状态几秒钟,然后我完成了程序,整个过程都在计时器中进行...我的问题是他在进入睡眠状态之前就进入睡眠状态在Richtextbox中输出 我是Windows Forms编程的新手,不知道如何完成一些干净的操作,您可以帮助我 请不要让我难以理解。 如果显示文本框并等待直到按下按钮,是否可以等待用户交互? 如果我用一个按钮解决了这个问题,我仍然必须停止计时器,因为我有2个Picturebox,可以循环移动。 否则我将不得不停止图片拳击。也许你能想到些什么。

问候S 对不起,我的坏工程师

1 个答案:

答案 0 :(得分:0)

使用辅助计时器。

private void timer1_Tick_1(object sender, EventArgs e)
{
    if (...)
                {
                    string sieg = "...";

                {
                    richTextBox1.Text = sieg;
                }    

                if (...)
                {
                    timer2.Interval = 1000;
                    timer2.Enabled = true;
                    timer2.Start();
                }
            }
                if (...)
                {
                    string lose = "...";
                    richTextBox1.Text = lose;

                    if (...)
                    {
                        timer2.Interval = 10000;
                        timer2.Enabled = true;
                        timer2.Start();
                    }

}

private void timer2_Tick(object sender, EventArgs e)
{
    Application.Exit();
}