| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Как создать форму в отдельном потоке? |
| Автор: VisMaster 22.1.2008, 22:57 | ||
| Здравствуйте. Проблема в следующем: У меня есть основная форма которую я запускаю так:
в ней мне надо зарустить другую форму, я запускал с помощью NEWForm.ShowDialog(), но этот метод обрабатывает только одно событие и закрывает NEWForm . Чтобы решить эту проблему, я думаю, что мне надо запустить NEWForm в отдельноом потоке, подскажите пожалуйста как это сделать? Заранее благодарен. |
| Автор: CYBERDREAM 22.1.2008, 23:07 | ||
Или я не в ту степь урыл |
| Автор: VisMaster 22.1.2008, 23:17 | ||||
А мне нужно второй раз запустить что то типо Application.Run(new NewForn()), но если я так пишу то он мне выдает искдючение:
|
| Автор: CYBERDREAM 22.1.2008, 23:29 |
| На сколько я понял, тебе нужно при загрузке приложения, запустить дубликат. Тогда через System.Diagnostics.Process.Start(Application.ExecutablePath); |
| Автор: VisMaster 22.1.2008, 23:58 | ||||
| не это не совсем то что мне нужно. Вот то что мне нужно: у меня есть две разные формы (первая: MainForm, вторая: NewForm), первая запускается при запуске приложения с помошью такого кода:
а вторая форма должна запускаться при нажатии на кнопку. Так вот если я вторую форму (NewForm) запускаю так:
то он обрабатывает только одно событие, а мне нужно несколько. Выход в следующем: мне нужно: создать новый поток и запустить форму NewForm в этом отдельном потоке. Как мне это сделать? |
| Автор: QryStaL 23.1.2008, 00:43 |
Там все нормально обрабатывается, и не надо никаких других потоков. Или тогда поясни подробнее, что имеется в виду... |
| Автор: VisMaster 23.1.2008, 00:53 |
| на форме у меня 3 кнопки, на каждую повешено по событию Click, так вот если я вызывая ShowDialog(): нажимаю на первую кнопку все обрабатывается нормально, данные выводятся, но после этого программа не ждет пока произойдет следующее событие (когда я нажму на следующую кнопку) , а сама закрывает форму. |
| Автор: jonie 23.1.2008, 01:42 | ||
я так понимаю он говорит о модальности второго окна, и ему надо N экзепляров объектов типа Form2
|
| Автор: VisMaster 23.1.2008, 02:13 |
| Нет я не то имел ввиду. мне не нужны 10 разных форм, я хочу в форме вызванной методом Application.Run(new Form1()) , вызвать другую форму тоже методом Application.Run(new Form22()). как мне это сделать? Все спасибо разобрался |
| Автор: CYBERDREAM 23.1.2008, 09:13 | ||
А ну колись в чем подвох был, а то я так и не понял до конца, что требовалось |
| Автор: ProgrammingLife 15.2.2008, 01:35 |
| Что нужно сделать ? в первой форме происходит вызов второй формы идет подсчет и мне нужно что бы результат был в превой форме в label1.Text вот код: Form1 f1e = new Form1(); f1e.label1.Text = label1.Text; f1e.ShowDialog(); выходит третье окно Form1 каким методом сделать что бы была одна форма что нужно сделать ? помогите |
| Автор: Softaz 19.2.2008, 13:28 |
| Используй делегаты/события Добавлено через 1 минуту http://rsdn.ru/article/dotnet/delegat.xml |
| Автор: CasperSC 11.5.2010, 01:16 |
| Сори, создал сообщение с ошибкой в коде пришлось удалить |