| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Как обратиться к MDIChild |
| Автор: ДобренькийПапаша 20.7.2009, 14:31 | ||
| Есть MDI-контейнер, в нём StripMenu тут есть возможность выбора отображения информации в проводнике (в ListView находящемся в дочерней форме) крупными значками, мелкими ну и так далее. Как грамотно менять свойство View в дочерней форме из родительской?
Надо из событий нажатия menuItem обращаться каким-то макаром к объекту ex? Или есть какой-то гуманный способ (через свойство какое-нибудь)? |
| Автор: diadiavova 20.7.2009, 15:07 |
| MdiChildren возвращает коллекцию дочерних форм. В ней и ищи. |
| Автор: ДобренькийПапаша 20.7.2009, 15:29 | ||
Дочерняя форма в curchild[0]. Проверил. Но обратиться к её объектам не могу. Например: curchild[0].ExploreView не проходит, ExploreView не видит (это объект ListView), объявлен он как public... Почему? И что делать?))) |
| Автор: Любитель 20.7.2009, 15:33 |
| Надо просто прокастить curchild[0] к типу твоей формы. |
| Автор: Bladerender 20.7.2009, 15:57 |
| По опыту скажу что не все так просто. Если ты хочеш доступатся к например ТекстБокс1 на MDIChild, то подкастить к форме можно будет, но самих елементов там не увидиш. Нужно будет юзать MyForm.Controls.Find() и получать в итоге нужный контрол и потом уже к нему обращаться по назначению, типа EditBox.Text = "xxx". |
| Автор: diadiavova 20.7.2009, 16:00 |
| Bladerender, если контрол объявлен как private, то конечно(а по-умлчанию так и есть). У топикастера он public, оптимальный вариант internal Добавлено через 2 минуты и 19 секунд А ещё лучше оставить private, а доступ получать через свойства. |