Как создать дескриптор окна из метода в C # - PullRequest
0 голосов
/ 30 августа 2018

Я создал приложение формы C # для окон и пытаюсь загрузить текст в toolstripsstatuslable из метода. Однако я вызвал этот метод из другого внешнего потока, и когда я его запускаю, это ошибка; видно ниже.

Invoke or BeginInvoke cannot be called on a control until the window handle has been created.

И это мой метод.

public void loadNotification(string text)
{
    Invoke(new UpdateLabel(UpdateUI), text);
    statusStrip.Refresh();
}

и он вызовет этот метод

private void UpdateUI(string labelText)
{
    MessageBox.Show("update ui");
    tssNotification.Text = labelText;
    //statusStrip.Refresh();
}

и это метод run() моего потока, который вызывает метод loadNotification()

public void Run()
{
    System.Windows.Forms.MessageBox.Show("this is System Thread");
    m = new MainInterface();
    Notifications ne = new Notifications(m.loadNotification);
    ne.Invoke("aksdjasd");
    Thread.Sleep(1000);
}

Я знаю, что проблема не в создании обработки окна, и если я вызову этот метод loadNotification из события form_load, это сработает, но у меня нет шансов сделать это.

Как я мог решить эту проблему. Пожалуйста, помогите мне?

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