powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UserControl делаю свой Button
10 сообщений из 10, страница 1 из 1
UserControl делаю свой Button
    #38083285
stim24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем создал 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
UserControl делаю свой Button
    #38083380
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim24,
создай в классе вот такую процедуру
Код: c#
1.
2.
3.
4.
5.
        protected override void OnClick(EventArgs e)
        {
MessageBox.Show("Hello world");
            base.OnClick(e);
        }
...
Рейтинг: 0 / 0
UserControl делаю свой Button
    #38083410
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
UserControl делаю свой Button
    #38083436
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile, что значит "забудет"? Или речь о вызове base.OnClick(e)?
...
Рейтинг: 0 / 0
UserControl делаю свой Button
    #38083469
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAbazile, что значит "забудет"? Или речь о вызове base.OnClick(e)?
Речь о вызове base.OnClick(e), да.
...
Рейтинг: 0 / 0
UserControl делаю свой Button
    #38083522
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileskyANAbazile, что значит "забудет"? Или речь о вызове base.OnClick(e)?
Речь о вызове base.OnClick(e), да.Очень мило.
Дык кто забудет-то? Фраме ворк забудет чтоли?
...
Рейтинг: 0 / 0
UserControl делаю свой Button
    #38083546
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще то код базового вызова создается с помощью самой среды VS, то есть что бы забыть вызвать, надо либо удалить строку руками...
...
Рейтинг: 0 / 0
UserControl делаю свой Button
    #38083568
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно в команде bazile есть юные падаваны, кто не задумывается о том, что происходит внутри base.OnЧтоТоТам(e) и удаляет за ненадобностью
...
Рейтинг: 0 / 0
UserControl делаю свой Button
    #38083872
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileДелать как советует Roman Mejtes не надо т.к. если твой наследник "забудет" вызвать OnClick, то твой код не отработает.

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


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


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