ThisandThatorWhat Ответов: 1

Как сделать так, чтобы кнопки наследовали другие события кнопок


Я пытаюсь сделать так, чтобы кнопка наследовала от одной кнопки
Например, у меня есть 5 кнопок, одна из которых имеет событие MouseHover и событие MouseLeave, которое сделает button1.BorderStyle = BorderStyle.Fixed3D. Я хочу это для всех кнопок
Я знаю, что могу сделать это для всех кнопок, но это избыточно/повторяется, не так ли ?
Я просто хочу, чтобы они получили наследство.

Что я уже пробовал:

Я попробовал отправитель, но я не уверен, что делать, потому что я немного новичок в C#

1 Ответов

Рейтинг:
6

Peter Vegter

Элемент управления Button не имеет свойства BorderStyle (вы не можете установить стиль границы кнопки).

Вы можете проверить элементы элемента управления (свойства, методы и т. д.) С помощью Visual Studio intellisense, например, вы получаете всплывающий список элементов после ввода "точки" в "myButton".

Вы также можете искать Google с помощью (например) кнопки " c#".

А вот как использовать один и тот же EventHandler MouseHover для всех (или некоторых) ваших кнопок:

private void AllButtons_MouseHover(object sender, System.EventArgs e)
{
    ((Button)sender).Text = "Button Text";
}

КСТАТИ. Вероятно, вы хотите использовать событие MouseEnter вместо события MouseHover, и вот как указать несколько событий мыши на один и тот же обработчик:
myButton1.MouseEnter += AllButtons_MouseHover;
myButton2.MouseEnter += AllButtons_MouseHover;
// etc.


ThisandThatorWhat

Вау спасибо за быстрый ответ,
Извините, что это была моя ошибка, Я хотел сказать PictureBox ("я устал")
Я попробую это сделать и дам вам знать, мой друг !

Peter Vegter

Спасибо!
Нет никаких различий между событиями button или picturebox (в данном случае). Вы можете использовать (например):

// установить события
частные пустые SetEvents()
{
имя picturebox1.События Мыши: Mouseenter += PictureBoxes_MouseEnter;
pictureBox1.MouseLeave += PictureBoxes_MouseLeave;

pictureBox2.События Мыши: Mouseenter += PictureBoxes_MouseEnter;
pictureBox2.MouseLeave += PictureBoxes_MouseLeave;
}

// обработчики событий
частная PictureBoxes_MouseEnter недействительным(объект отправителя, система.EventArgs e)
{
((Элемент управления PictureBox)отправителя).Для Свойства Borderstyle = Borderstyle Стиль Окна.Fixed3D;
}

частная PictureBoxes_MouseLeave недействительным(объект отправителя, система.EventArgs e)
{
((Элемент управления PictureBox)отправителя).Для Свойства Borderstyle = Borderstyle Стиль Окна.FixedSingle;
}