Привет всем,
Мне было бы интересно узнать, что люди думают о концепции исполняемого файла, который отвечает за запуск трех отдельных форм в своих потоках. Основными причинами такого подхода является обеспечение того, чтобы формы не могли работать по отдельности и чтобы мы могли передавать информацию между формами без использования IPC.
Я немного не уверен насчет идеальных мест для создания форм в отношении их потоков. Я предполагаю, что было бы лучше создавать и показывать формы в собственной ветке. Сказав, что я не уверен, что это работает правильно. Я попробовал это, но вызов перекрестного потока в формах собственного потока не работает (то есть вызов BeginInvoke не возвращает его обратно в метод ShowWindow в другом потоке) ...
private void ShowWindow(string serialNumber)
{
if (this.InvokeRequired)
{
this.BeginInvoke((MethodInvoker)(delegate() { ShowWindow(serialNumber); }));
}
else
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
if (serialNumber != string.Empty)
{
knavManagement.SelectedPage = knpActivate;
activatePage.SerialNumber = serialNumber;
}
Application.DoEvents();
}
}
Я пробовал много разных способов вызова метода в его собственном потоке, но ни один из них не работает, что наводит меня на мысль, что это может быть как-то связано с базовой системой потоков, поэтому мой вопрос.
Thankyou!
Крис.