У меня странная проблема.
У меня есть 3 формы.form1, form2, form3.
form1 является начальной / основной формой.в form1 у меня есть код:
form2 f2 = new form2;
f2.ShowDialog();
открывается form2, я не могу сосредоточиться на foorm1, они оба находятся в одном потоке.Как раз то, что я хочу.
В форме 2 у меня есть код:
form3 f3 = new form3;
DialogResult result = f3.ShowDialog();
Я запускаю этот код и ... По какой-то неизвестной для меня причине эта форма 3 запускается в новом потоке, и я могусосредоточиться на форме2.Я не хочу, чтобы это случилось.Я понятия не имею, почему эта форма 3 работает в новом потоке.Я не могу использовать DialogResult, потому что это приводит к ошибке (Cross-thread).
Он ведет себя так, как если бы я использовал f3.Show (), но я использую f3.ShowDialog ();
Заранее.
PS
Если я использую
form3 f3 = new form3;
DialogResult result = f3.ShowDialog(this);
, я получил это:
System.InvalidOperationException не обрабатываетсяпо коду пользователя
Сообщение = Межпотоковая операция недопустима: элемент управления 'form2' доступен из потока, отличного от потока, в котором он был создан.
в этой строке:
DialogResult result = f3.ShowDialog(this);