Я разрабатываю плагин для приложения, которое "потребляет" мой код (classLibrary) и выполняет метод Init()
внутри своего собственного Thread
.
Внутри Init () у меня есть оператор while(true)
, так что мой плагин может работать непрерывно.
Вчера я начал создавать windowsForm для настройки моего плагина (используя XML), и теперь я хочу показать его, но он продолжает исчезать. Мой код выглядит следующим образом:
При этом будет показана форма, но она не будет перерисовываться, потому что запускается в том же потоке, что и while (true).
MaForm settingsForm = null;
void init(){
While(true){
if(settingsForm == null){
settingsForm = new MaForm();
settingsForm.show();
}
}
}
Версия, которая показывает, но затем исчезает.
MaForm settingsForm = null;
Thread worker = null;
void init(){
While(true){
if(worker == null){
worker = new Thread(new ThreadStart(formStuff));
worker.Start();
}
}
}
void formStuff()
{
if(settingsForm == null){
settingsForm = new MaForm();
settingsForm.show();
}
}
Что я делаю не так? Что-то в Threading мне не хватает?
Что вы, ребята, думаете?