Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > Доступ к элементам родительской формы |
Автор: AlexC 22.5.2006, 18:11 |
Всем привет! Я еще только начинаю осваивать С#, поэтому сильно не пинайте ![]() Есть главная форма. у нее описываю такое свойство: public int asd=1; Также на этой форме есть список, при клике на который открывается модальное диалоговое окно. В функции прорисовки диалога пишу такое: try{ MessageBox.Show(((MainForm)this.ParentForm).asd.ToString()); } catch(Exception ex){ MessageBox.Show( ex.Message ); } И у меня вылетает исключение с текстом: Object reference not set to an instance of an object В чем моя проблема? Подскажите, пожалуйста как это исправить. P.S. Если это важно, использую SharpDevelop 2.0 |
Автор: Softaz 22.5.2006, 19:21 | ||
Это я из главной формы (FormMain) вызвал функцию из frm_viewkvarthome. Хотя это и не правильно (если углубляться), но для первого раза пойдет. P.S.: .NET 2.0 |
Автор: -ser- 23.5.2006, 03:17 | ||||
он же хочет чтобы ты в конструкторе класса модального диалогового окна передал инстанс головной формы.
а в главной при вызове ставишь this
полазил бы по этому форуму, вопрос-то стандартный. |
Автор: AlexC 23.5.2006, 19:46 | ||||||
Большое спасибо! Все заработало. Правда SharpDevelop как и раньше выдает предупреждение, что будет исключение, но его нет ![]()
Только передавать его надо при вызове конструктора ![]()
Я полазил по MSDN, нашел http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/vbcon/html/vbtskgettinginformationfromdialogboxsparentform.asp и сделал как там написано. |
Автор: -ser- 24.5.2006, 05:22 | ||
а вот здесь тогда необходимо уточнить. если так как в MSDN, ParentForm, похоже, только для случаев когда родительская форма является MdiContainer'oм. может это как раз твой случай. тогда при вызове второй, нам надо будет указать
более того, в этом случае она не может быть модальной, т.е. form2.ShowDialog() здесь не сработает. |
Автор: AlexC 24.5.2006, 15:17 |
Может оно и так. Но там ничего не сказано об этом, статья эта находится в разделе про диалоги, а MDI дальше идет. |