![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
mr.DUDA |
|
||||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Вот это интересно. Какой тут может быть "design time" ? В дизайнере добавил на свой GmailNotifierControl форму, что ли ? Если да, посмотри InitializeComponent, может там экземпляр формы уже создаётся автоматически, и код:
просто создаёт ещё одну форму, не относящуюся к делу. -------------------- ![]() |
||||
|
|||||
Kurt |
|
|||
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Zdvig
Постарайся все-таки сделать так, как я объяснял выше. То есть передавай ссылку на форму через конструктор, а не создавай еще одну форму. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
Zdvig |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 3.5.2005 Репутация: 1 Всего: 1 |
Я так пробовал, уже просто незнаю что делать.... Конструкции типа private Form1 frm1 и дальнейшее обращение к frm1 вообще не работают. Пишет не найден Form1 в неймспейсе.
![]() ![]() ![]() Выкладываю всю программу, может посмотрите что так как. Я просто бессилен тут.... Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() --------------------
Лампочка - ожерелье голых поп. Вся любовь - оп-хоп-хоп! |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Держи, вот твоя программа с исправлениями:
Присоединённый файл ( Кол-во скачиваний: 23 ) ![]() -------------------- ![]() |
|||
|
||||
Zdvig |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 3.5.2005 Репутация: 1 Всего: 1 |
Значит все беда была из за
Меня щас расплющит от моего ламерства ![]() mr.DUDA Спасибо тебе огромное!! --------------------
Лампочка - ожерелье голых поп. Вся любовь - оп-хоп-хоп! |
|||
|
||||
mr.DUDA |
|
||||||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Да нет, просто ты форму создавал по новой, хотя форма уже была. Контрол твой "NotifierInfo" нужно было создавать конструктором, принимающим параметр типа "форма" со значением, указывающим родительскую форму:
соответственно:
и далее, обработчик события "клик по label1 внутри балуна NotifierInfo" должен не создавать новый объект "форма", а использовать реально существующий, т.е. тот который был передан в параметре конструктора NotifierInfo:
-------------------- ![]() |
||||||
|
|||||||
Zdvig |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 3.5.2005 Репутация: 1 Всего: 1 |
Этого я даже предположить не мог ![]() PS: сложно как-то в C# обстоят дела с доступом к переменным. ![]() --------------------
Лампочка - ожерелье голых поп. Вся любовь - оп-хоп-хоп! |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Да всё логично.
В конструктор подчинённого объекта передаётся ссылка на вышестоящий объект. Далее подчинённый объект (NotifierInfo) общается с вышестоящим (Form1) только через эту ссылку. Почему ? Ну представь себе, к примеру, такой случай. Есть дерево, состоящее из узлов. Узлами в дереве являются объекты. Друг о друге они почти ничего не знают, и не должны, т.к. в дереве порядок следования объектов - совершенно произвольный. Теперь попробуй сделать так, чтобы объекты могли взаимодействовать между собой. Как организовать связи между вышестоящими и подчинёнными объектами ? Естественным решением является наличие в объекте таких полей как Parent и Children. В твоём примере тоже как бы дерево, но состоящее всего из двух узлов - Form1 и NotifierInfo. Ну а теперь самое главное: откуда узел "NotifierInfo" узнаёт об узле "Form1", который для него как-бы Parent ? Другими словами, как получить информацию для сохранения в поле Parent (у тебя это NotifierInfo.frm1) ? Открыть свойство Parent на запись всему миру ? Это абсолютно неприемлемо с точки зрения объектно-ориентированного программирования, потому что такое свойство инкапсулировано в объекте и внешнему миру должно быть открыто только для чтения ! Вот поэтому и приходим к такой парадигме: если у объекта есть данные, которые инициализируются один раз при создании объекта, эти данные должны быть проинициализированы в конструкторе (явно либо неявно). Отсюда и вытекает код, принимающий в конструкторе NotifierInfo ссылку на форму и сохраняющий эту ссылку в поле frm1. P.S. надеюсь, понятно объяснил ![]() -------------------- ![]() |
|||
|
||||
Zdvig |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 3.5.2005 Репутация: 1 Всего: 1 |
mr.DUDA
Ага, пример удачный ![]() ![]() --------------------
Лампочка - ожерелье голых поп. Вся любовь - оп-хоп-хоп! |
|||
|
||||
xsb3 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
Народ вот ссылка на мой проект. http://xsb3.ifolder.ru/544137 в нем необходимо из формы 1 вызвать форму 2
в форме 2 есть поля textBox. находящийся текст в которых должен после нажатия кнопки ОК записаться в listView формы 1. Если кто сможет исправить выложите потом ссылку на фаилы наверно всем пример будет интересен. |
|||
|
||||
Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 92 |
Модератор: А почитать эту и закреплённые в этом разделе темы не пробовал? Я так смотрю у тебя в том проекте ничего не сделано. А всё интересное уже было в теме Как обратиться к объекту другой формы -------------------- Да. Именно так. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |