Как вывести текст, прежде чем поток спит в таймере? - PullRequest
0 голосов
/ 10 декабря 2018
     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 Pictureboxes, которые я перемещаю в цикле.Или мне придется остановить бокс картин.Может быть, вы можете что-то придумать.

Привет S Извините за мой Bad Eng

1 Ответ

0 голосов
/ 10 декабря 2018

Используйте дополнительный таймер.

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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...