Добавить событие для мыши с помощью мыши PictureBox

Я хочу, чтобы это событие работало:

private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
    //code
}

Я знаю, что мне нужно добавить событие для этого, но я не смог найти синтаксис где угодно. Как добавить это событие?

2
nl ja de

1 ответы

Вы должны назначить обработчик события событию, обычно в конструкторе формы:

class MyForm 
{ 
    PictureBox pictureBox1;

    public MyForm()
    {
        ...
        InitializeComponent(); 
        ...
        pictureBox1.MouseDown += new MouseEventHandler(pictureBox1_MouseDown);
        ... 
    }
}

Если вы добавили свой контроль через Form Designer в Visual Studio, он автоматически сгенерирует метод InitializeComponent() , который создает элементы управления (вызывает их конструкторы), поэтому убедитесь, что вы получаете доступ к элементам управления после вызова InitializeComponent() .

Вы также можете назначить обработчик события событию через конструктор форм: выберите элемент управления, щелкните его правой кнопкой мыши, выберите Свойства , щелкните значок флэш-памяти ( События ), найдите нужное событие (< code> MouseDown ) и дважды щелкните по нему - для этого события будет назначен метод обработчика событий (вы можете проверить код в InitializeComponent() ). Теперь вам просто нужно написать код в теле обработчика событий.

7
добавлено
Очень интересно, что вы сказали о создании событий автоматически. Я только что пришел из VB.NET и подумал, что у C# такой функции нет. Спасибо.
добавлено автор Bruno Klein, источник
Должен быть помещен в метод OnLoad или в конце конструктора.
добавлено автор Richard Schneider, источник
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

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

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