Форма C # добавляет элементы управления во время выполнения - PullRequest
0 голосов
/ 11 декабря 2018

Здравствуйте. У меня проблемы с добавлением элементов управления в форму во время выполнения.

    static Form1 f2 = new Form1();

    async public static void startTimer()
    {
        //await Task.Run(() => f2.ShowDialog());

        stopWatch.Start();
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
        aTimer.Interval = 50;
        aTimer.Enabled = true;
        await Task.Run(() => f2.ShowDialog());

    }

    public static void splitTime()
    {
        TextBox txtRun = new TextBox();
        txtRun.Name = "txtDynamic";
        txtRun.Location = new System.Drawing.Point(20, 18 + (20 * 2));
        txtRun.Size = new System.Drawing.Size(200, 25);
        f2.Controls.Add(txtRun);        
     }

Есть идеи, почему это не удается?Я думаю из-за асинхронности, но не знаю, как ее решить.

1 Ответ

0 голосов
/ 11 декабря 2018
this.BeginInvoke((Action)delegate ()
{
TextBox txtRun = new TextBox();
        txtRun.Name = "txtDynamic";
        txtRun.Location = new System.Drawing.Point(20, 18 + (20 * 2));
        txtRun.Size = new System.Drawing.Size(200, 25);
        f2.Controls.Add(txtRun);    

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...