![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
у меня есть в приложении две формы, хочу чтобы при нажатии кнопки на одной форме на другой в лист боксе чето появлялось, и заодно запускался один из встроенных методов в форме, подскажите как
|
|||
|
||||
Raid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 10.6.2007 Где: Москва Репутация: нет Всего: нет |
Из главной в дочернюю можно передавать так:
В классе дочерней формы пишешь метод заполнения листбокса В главной форме при нажатии на кнопку вызываешь этот метод через объект второй формы и на сторой формочке всё заполняется Если нужны параметры из главной формы, то методу их передавай |
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: нет Всего: 6 |
Я думаю тут должно быть уточнение - в каком порядке эти формы запускаются и запускают ли друг друга?.
Как я понял эти формы не запускают друг друга, а каждая отдельно, .т.е они функционируют не зная о друг друге? --------------------
namespace informatik |
|||
|
||||
Raid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 10.6.2007 Где: Москва Репутация: нет Всего: нет |
Значит третий объект, который знает о существовании обеих форм, подписывается на клик кнопки на первой форме и вызывает описанный метод для второй формы.
|
|||
|
||||
svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
нет две дочерние формы вызываются при создании главной, а как вызвать метод? у меня так в форме есть процедурка, которая в массив (поле класса форма) добавляет елемент, я хочу чтоб элемент добавлялся при нажатии кнопки на другой форме
Добавлено через 6 минут и 17 секунд я еще не совсем понимаю как главная форма создается, ведь я пока описываю только абстрактный класс, к абстрактному обьекту обратится нельзя, а как там она будет называться при инициализации не совсем понимаю |
|||
|
||||
Raid |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 10.6.2007 Где: Москва Репутация: нет Всего: нет |
Смотри, главная форма это form1 Можно типо паттерна Наблюдатель организовать
вторая форма это форма, по которой кликают
и в третьей
|
||||||
|
|||||||
svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
еще уточнение мне надо чтоб по нажатию в дочерней писалось в другой дочерней, а процедурка в главной
Добавлено через 4 минуты и 30 секунд и кнопок несколько, в зависимости от того какая нажата нужно вызвать разные процедуры, и написать разный текст в листбокс Добавлено через 4 минуты и 52 секунды мне для каждой кнопки наблюдателя чтоли делать? |
|||
|
||||
svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
там где пометил ошибка выскакивет, не совсем везжаю что за дела Unable to cast object of type 'WindowsApplication5.Form1' to type 'WindowsApplication5.IObserver'. в других формах все сделал как надо |
|||
|
||||
Raid |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 10.6.2007 Где: Москва Репутация: нет Всего: нет |
Извини, я одним глазом футбол смотрю))
Необязательно для каждой кнопки наблюдателя. при клике каждой кнопы вызывай HandleClick , но ему например число передавай, по которому будешь определять какая кнопка нажата. И для каждой кнопки свое число. интерфейс поменять чуть-чуть
Даже наверное проще можно. Form3 можно объявить как наблюдателя
А в главной форме сначала объект формы3 инициализируешь и передаешь в конструктор второй
Обрати внимание в объявлении Form3 ещё и интерфейс IObserver написан. без этого привести объект Form3 к типу IObserver не получится |
||||||||||
|
|||||||||||
svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
ничего не понял в последней строчке. интерфейс описан вне класса ,при написании внутри формы мы просто создаем новый метод, который с нашим обсервером никак не связан, нет вообще конечно все запускается, но как чтото сделать на главной не знаю как
|
|||
|
||||
Raid |
|
||||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 10.6.2007 Где: Москва Репутация: нет Всего: нет |
говорю же, надо указать что формочка реализует этот интерфейс Form3: From, IObserver. Это и есть связка.
у тебя алгоритм, который определяет что нужно заносить в листбокс в главной форме или в самой дочерней ??? Если что можем в аське продолжить и не шлёпать тут сообщения )) аська в профиле у меня |
||||
|
|||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |