Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UserControl делаю свой Button / 10 сообщений из 10, страница 1 из 1
18.12.2012, 12:48
    #38083285
stim24
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
Вообщем создал usercontrol
т.к. по умолчанию класс наследуются от UserControl я поменял на Button.

Получилось следующие
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
namespace ControlLibrary
{
    public partial class MyButton_test : Button
    {
        public MyButton_test()
        {
            InitializeComponent();
        }
    }
}



Все могу данную кнопку везде использовать в проектах.
Теперь хочу чтобы по событию Click всегда выходило сообщение "Hello world" (MessageBox.Show("Hello world");)
Я не пойму как это описать в классе ?
Причем так чтобы если в проекте я использую данную кнопку и там тоже навешиваю на событие с сообщением
MessageBox.Show("Hi"); чтобы срабатывало так вначале выходит сообщение "Hello world" а потом "Hi"
Тесть всегда в классе навешанное сообщение всегда выходило
...
Рейтинг: 0 / 0
18.12.2012, 13:27
    #38083380
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
stim24,
создай в классе вот такую процедуру
Код: c#
1.
2.
3.
4.
5.
        protected override void OnClick(EventArgs e)
        {
MessageBox.Show("Hello world");
            base.OnClick(e);
        }
...
Рейтинг: 0 / 0
18.12.2012, 13:42
    #38083410
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
stim24,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public partial class MyButton_test : Button
{
	public MyButton_test()
	{
		InitializeComponent();
		
		Click += HelloWorld;
	}
	
	private void HelloWorld(object sender, EventArgs e)
	{
		MessageBox.Show("Hello world");
	}
}



Делать как советует Roman Mejtes не надо т.к. если твой наследник "забудет" вызвать OnClick, то твой код не отработает.
...
Рейтинг: 0 / 0
18.12.2012, 13:51
    #38083436
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
bazile, что значит "забудет"? Или речь о вызове base.OnClick(e)?
...
Рейтинг: 0 / 0
18.12.2012, 14:05
    #38083469
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
skyANAbazile, что значит "забудет"? Или речь о вызове base.OnClick(e)?
Речь о вызове base.OnClick(e), да.
...
Рейтинг: 0 / 0
18.12.2012, 14:27
    #38083522
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
bazileskyANAbazile, что значит "забудет"? Или речь о вызове base.OnClick(e)?
Речь о вызове base.OnClick(e), да.Очень мило.
Дык кто забудет-то? Фраме ворк забудет чтоли?
...
Рейтинг: 0 / 0
18.12.2012, 14:42
    #38083546
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
вообще то код базового вызова создается с помощью самой среды VS, то есть что бы забыть вызвать, надо либо удалить строку руками...
...
Рейтинг: 0 / 0
18.12.2012, 14:50
    #38083568
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
Возможно в команде bazile есть юные падаваны, кто не задумывается о том, что происходит внутри base.OnЧтоТоТам(e) и удаляет за ненадобностью
...
Рейтинг: 0 / 0
18.12.2012, 17:02
    #38083872
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
bazileДелать как советует Roman Mejtes не надо т.к. если твой наследник "забудет" вызвать OnClick, то твой код не отработает.

вот что написано на мсдн: Метод OnClick также позволяет производным классам обрабатывать событие без присоединения делегата.Это предпочтительная методика обработки события в производном классе.
...
Рейтинг: 0 / 0
19.12.2012, 04:31
    #38084409
stim24
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UserControl делаю свой Button
Спасибо вроде разобрался через
Код: c#
1.
2.
            Click += HelloWorld;
            Click += HelloWorld2;


Думаю универсально будет можно разные ф-ции и по условию,очередности навешать.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UserControl делаю свой Button / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]