![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] доступ к элементам дочерних форм в MDI |
|
.NET - [решено] доступ к элементам дочерних форм в MDI
|
Новый участник Сообщения: 34 |
есть две формы, одна родительская (MainForm), другая дочерняя (ChildForm) с элементом PictureBox (по ней создаются другие дочерние формы), как получить доступ к PictureBox'у активной дочерней формы (т.е допустим загрузить в него картинку)
например:
так будет создаваться новое окно с выбранной картинкой, но как потом перезаписать эту картинку (допустим применив к ней какой-нибудь фильтр). если вынести создание объекта класса дочерней формы (ChildForm cf = new ChildForm ()) из метода и объявить его в классе, то к PictureBox'у можно будет обратиться и перезаписать картинку, но соответственно MDI уже не будет, т.к просто будет "переоткрываться" одна и та же форма...я походу сильно туплю, подскажите как исправить) |
|
Отправлено: 19:29, 03-12-2011 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Как вариант - перебирать циклом Foreach коллекцию всех дочерних окон MDI приложения и в нужной форме производить изменения.
|
------- Отправлено: 01:16, 05-12-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Вот мое решение. Mdi форма, одна кнопка открывает одну форму, другая - другую. В первой форме только PictureBox (метод доступа к объекту - Public), на второй кнопка, по ее нажатию в первой форме меняется картинка на другую.
Код кнопки из второй формы: private void button1_Click(object sender, EventArgs e) { foreach (Form chform in this.MdiParent.MdiChildren) //пробегаемся по дочерним окнам основного окна { if (chform.Name == "ChildForm") //если нашли нужную нам форму, то { ((PictureBox)chform.Controls["PictureBox1"]).Image = Image.FromFile(@"D:\picture2.png"); //Находим наш контрол на первой форме и меняем картинку. } } } http://www.codeproject.com/KB/cs/mdiformstutorial.aspx http://stackoverflow.com/questions/7...m-another-form |
------- Отправлено: 02:03, 05-12-2011 | #3 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать спасибо, разобрался. в итоге для работы с элементом активной дочерней формы нужна одна строчка:
например из вашего цикла:
в результате выполнения в PictureBox1, расположенный на активной дочерней форме загрузится изображение picture2. Аналогично можно работать с другими контролами и их методами. |
Последний раз редактировалось SeRgikON, 05-12-2011 в 19:42. Отправлено: 19:37, 05-12-2011 | #4 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать SeRgikON, вот видишь как чудесно, и проблему решил и мне подсказал более простой вариант
![]() |
|
------- Отправлено: 04:36, 06-12-2011 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Delphi - Панель открытых дочерних форм на главной форме в MDI приложениях. | Kapuha | Программирование и базы данных | 3 | 23-06-2011 12:53 | |
Конкурс - Быстрый доступ к часто используемым элементам панели управления Windows 7 | OSZone | Microsoft Windows 7 | 2 | 02-10-2009 14:47 | |
CSS доступ к элементам | Dr.Dark | Вебмастеру | 7 | 29-08-2009 00:04 | |
.NET - [решено] Переключение между MDI окнами и выбор открытого окна в приложении (C#) | Delirium | Программирование и базы данных | 1 | 15-12-2008 08:52 | |
Проблема сдоступом к элементам фрейма | Guest | Вебмастеру | 4 | 19-11-2005 00:13 |
|