Потоки с Windows Forms - PullRequest
       20

Потоки с Windows Forms

0 голосов
/ 01 сентября 2009

Я написал приложение Windows Forms на C #. Когда я запускаю отдельный поток, содержащий метод, который переключает невидимость панели в моей форме, он работает первый раз, но не второй. Почему и как я могу это исправить?

Ответы [ 3 ]

3 голосов
/ 01 сентября 2009

Спасибо, решили мою проблему, следуя коду:

Panel tmp = null;
switch (d.Person)
{
    case 1: tmp = backPic1;
        break;
    case 2: tmp = backPic2;
        break;
    case 3: tmp = backPic3;
        break;
}
if (InvokeRequired)
{
    tmp.Invoke(new MethodInvoker(delegate() { tmp.Visible = true; }));
}
else
{
    tmp.Visible = true;
}
0 голосов
/ 01 сентября 2009

Ваш вопрос немного расплывчатый, но похоже, что вы хотите управлять пользовательским интерфейсом из другого потока, и в этом случае вам нужно будет синхронизировать запрос. Трудно сказать, как это сделать, не зная, какой язык программирования вы используете.

0 голосов
/ 01 сентября 2009

Я предполагаю, что он вызывает код пользовательского интерфейса из фонового потока. ;)

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