Overrideng OnMouseClick of PictureBox как член

В настоящее время у меня есть матрица, которая содержит элементы моего класса под названием furniture
В этом Furniture у меня есть элемент PictureBox, который я хочу переопределить, это метод OnMouseClick
где я это делаю?
В коде класса Мебель ?
Каков синтаксис для переопределения такого члена?

2
nl ja de

3 ответы

Если вы имеете в виду переопределение , в вашем пользовательском классе нет другого места:

Создайте новый класс MyPictureBox , полученный из исходного PictureBox .

Пример:

public class MyPictureBox : PictureBox {

    public override void OnMouseClick(...)  {
       //...
    }

}

и, естественно, используйте этот объект в вашей форме:

Furniture.Controls.Add(new MyPictureBox ());

Не знаю, что такое Furniture control really , так что это всего лишь теоретический пример.

2
добавлено
большое спасибо
добавлено автор SagiLow, источник
@SagiLow: добро пожаловать ...
добавлено автор Tigran, источник

См. Следующий код.

public class DerivedPictureBox: PictureBox
{
    protected override void OnMouseClick(MouseEventArgs e)
    {
        base.OnMouseClick(e);
    }
}

Всякий раз, когда вы используете DerivedPictureBox в своем приложении, он будет выполнять этот производный метод OnMouseClick.

0
добавлено
Не могли бы вы расширить свой ответ? Предположим, что мой член называется m_image, переопределение произойдет только при нажатии на свойство PictureBox?
добавлено автор SagiLow, источник

Если вы хотите только обнаружить клики, вам просто нужно добавить обработчик для PictureBox.MouseDown

Вы можете сделать это в дизайнере - найдите окно изображения, проверьте его свойства и выберите «События», а затем введите имя для обработчика MouseDown.

Обратите внимание, что это отличается от фактического переопределения OnMouseClick, но я подозреваю, что вы действительно не хотите этого делать ...

В чем причина отказа от OnMouseClick?

0
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

CSS — русскоговорящее сообщество
CSS — русскоговорящее сообщество
1 502 участник(ов)

Сообщество любителей CSS Возникли проблемы с CSS? – пиши сюда, обсудим и предложим самое лучшее решение Работа: @css_ru_jobs Правила: https://teletype.in/@css_ru/r1EWtQ2w7 Приходите в наши чаты @javascript_ru и @frontend_ru Флуд: @css_flood

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing

css_jobs
css_jobs
26 участник(ов)

Чат для вопросов по css и html: @css_ru Флуд: @css_flood Канал с вакансиями и резюме: @css_jobs_feed

css_флуд
css_флуд
10 участник(ов)