|
|
|
Supreme Being
      
участник
Last Login: 09.10.2008 16:09
Сообщ.: 96,
Visits: 874
|
|
Почему-то не правильно работает диалоговое окно, а точнее оно просто моргает и куда-то пропадает. Может подскажете в чем может быть дело.
threadDelegate = new ThreadStart(this.form2Builder);
newThread = new Thread(threadDelegate);
newThread.Start();
}
private void form2Builder()
{
this.Scaner();
Form2 form=new Form2(this,this.logDisc);
// this.Hide();
form.Owner=this;
form.Show();//<<<<<<<<<
Application.DoEvents();
|
|
|
|
|
Junior Member
      
участник
Last Login: 29.09.2005 21:10
Сообщ.: 10,
Visits: 111
|
|
| Можеть не стоит огород городить с потоками, какой тайный смысл?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 09.10.2008 16:09
Сообщ.: 96,
Visits: 874
|
|
| Просто Scaner() очень трудоемкий метод, поэтому во время его работы трудно управлять формой(изменение размеров нажатие кнопок). Если его запустить в отдельном потоке он лучше идет, не тормозит. А Form2 должна появиться после метода Scaner. Поэтому и получается такой огород.Если ничего не получиться придется пожертвовать нормальной работой.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 17.06.2006 14:39
Сообщ.: 193,
Visits: 2 126
|
|
form надо бы создавать в основном потоке приложения с помощью делегата, который будет вызываться после Scaner() или показывать form не методом form.Show(), а методом Application.Run(Form). DoEvents() не надо.
У тебя получается, что form пропадает после отработки form2Builder()
|
|
|
|