Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
1

Повторное срабатывание события для удаленного объекта

22.04.2014, 18:15. Показов 635. Ответов 7
Метки нет (Все метки)

Дело такое. У меня есть UserControl. На нем несколько кнопок. При клике на кнопки этот UserControl удаляется, появляются некоторые другие. За это отвечает событие, которое происходит при клике на кнопку первого UserControl.

Есть еще меню (menuStrip), с помощью которого можно вернуться к первому контролу. И если еще раз нажать на его кнопку, то вылезает NullReferenceException. Я, конечно, догадываюсь, что это из-за удаления/инициализации контрола по новой, но не знаю, как исправить.

C#
1
2
3
4
5
6
7
8
        public event EventHandler TaskDischargeClick;
        //
        // Вызов события при нажатии на кнопки контрола
        //
        private void toTimeDischarge_Click(object sender, EventArgs e)
        {
            TaskDischargeClick(this, e);
        }
C#
1
2
3
4
5
6
        chooseTask.TaskDischargeClick += CreateParam;
        public void CreateParam(object sender, EventArgs e)
        {
            chooseTask.Dispose(); //это удаляется тот контрол, из которого вызывается событие
            //тут еще какие-то действия
        }
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2014, 18:15
Ответы с готовыми решениями:

Повторное срабатывание прерывания
Имею МК (в данный момент STM32F103T8U6) и АЦП (AD7687). АЦП запускается единичным положительным...

Подскажите оборудование для GPRS- мониторинга удаленного объекта
Здравствуйте! Подскажите пожалуйста оборудование для GPRS мониторинга удаленного объекта. ...

Срабатывание события
Такой вопрос. В задаче сказано: в классе машина должно быть событие, которое срабатывает в тот...

Timer Срабатывание события Tick
Подскажите пожалуйста, каждое следующее событие Tick будет срабатывать с учетом времени работы...

7
54 / 54 / 14
Регистрация: 18.04.2014
Сообщений: 170
22.04.2014, 18:22 2
А почему нельзя просто захайдить контрол к чему такие издевательства над кучей?
1
7033 / 6056 / 2752
Регистрация: 14.04.2014
Сообщений: 25,936
22.04.2014, 18:23 3
Может его просто невидимым делать?
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
22.04.2014, 18:24  [ТС] 4
Скрывать, конечно, легче, наверное. Но не думаю, что это обычно так делается. К тому же, контролов там не два и не три, а достаточно.
0
7033 / 6056 / 2752
Регистрация: 14.04.2014
Сообщений: 25,936
22.04.2014, 18:25 5
Очень часто так и делается.
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
22.04.2014, 18:35  [ТС] 6
А еще как-нибудь делается? Хотелось бы узнать. И как действуют в моей ситуации. Абстрагируясь от контролов, но с удалением и добавлением элемента, вызывающего событие. Или так вообще делать нехорошо?
0
2144 / 1281 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
22.04.2014, 18:36 7
binomer, именно так и делается
0
7033 / 6056 / 2752
Регистрация: 14.04.2014
Сообщений: 25,936
22.04.2014, 18:47 8
Ну наверное, если очень захотеть и разобраться во всех связях элементов управления, можно сделать, чтобы работало с удалением. Но если невидимости тебе достаточно, используй её.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2014, 18:47

Запустить срабатывание события в textBox1_TextChanged
Здравствуйте. Подскажите, пожалуйста, как запустить срабатывание события в textBox1_TextChanged....

Срабатывание события по изменению переменной
Есть глобальная переменная изменяется в потоке. Нужно поставить заглушку в другой функции на...

двойное срабатывание события click
доброго времени суток, товарищи, подскажите в чем чудеса? собственно имеется вот такая конструкция...

"Мистическое" повторное срабатывание метода
Здравствуйте! Есть таймер переодически запускающий метод OnTimedEvent: private void...

Срабатывание на события мыши и тач скрина
Привет всем, скажите пожалуйста. К примеру, у меня есть две кнопки. Одна реагирует на события мыши,...

Срабатывание события в определенное время (будильник)
Вот в чем дело) Я сделал календарь с заметками, но не могу настроить будильник, естественно тогда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.