2016-03-16 2 views
0

Я новичок в Visual Studio и C#. Я создал свой первый проект - приложение инвентаризации с использованием MySql - и все работает. Но мне нужно было добавить новую кнопку в форму для удаления записей, поэтому я перетащил ее из панели инструментов, изменил текст («Удалить продукт») и изменил название проекта («DelBtn»). Добавление инструмента не создать обработчик событий, поэтому я добавил следующее с MessageBox для тестирования:Кнопка добавлена ​​в Visual Studio C# Project не распознает событие Click

private void DelBtn_Click(object sender, EventArgs e) 
{ 
    MessageBox.Show("Delete button clicked"); 
} 

При нажатии на кнопку, однако, не имеет никакого эффекта, нет MessageBox или что-нибудь еще. Может кто-нибудь помочь, пожалуйста?

+1

Вам необходимо подписаться на него. 'DelBtn.Click + = DelBtn_Click;' в конструкторе формы или дважды щелкните событие Click в окне свойств (см. Молнию в окне свойств). – LarsTech

ответ

3

Перейти к оформлению формы, щелкните правой кнопкой мыши и выберите «Свойства». В окне свойств появится кнопка «События» (она выглядит как молния). Нажмите это и найдите событие Click своей кнопки. Убедитесь, что в нем указан DelBtn_Click. В этот момент кнопка должна отвечать вашим кодом.

Надеюсь, это поможет!

+0

Спасибо! Исправление свойств события устранило проблему. Кстати, он также разбил Visual Studio, но он перезапустился правильно. – japat

0

Вам необходимо делегировать событие в вашем designer.cs, если вы хотите:

DelBtn.Click += new System.EventHandler(this.DelBtn_Click); 
0

Просто добавить метод с тем же именем, что VS сделал бы для вас не будет связывать событие этого метода , Откройте свойства кнопки и в верхней части результирующей панели вы увидите молнию. Нажмите эту кнопку и найдите нужное событие и введите там свое имя метода.

1

Вам нужно убедиться, что вы правильно подключили обработчик. Ищите файл дизайнера, который генерируется вместе с вашей формой (я делаю предположение, что это winforms).

enter image description here

Тогда вы будете нуждаться в линию, как это в вашем методе InitializeComponent:

this.button1.Click += new System.EventHandler(this.DelBtn_Click); 

Вы не имеют сделать это в вашем файле дизайнер, вы можете сделать это где угодно вы хотите, чтобы это выполнялось до отображения вашей формы, например конструктор. Но мне кажется, что вы что-то сделали - возможно, вручную переименовав метод обработчика событий - исказил автоматически созданный код разработчика, о котором я упоминал выше, и вам, вероятно, просто нужно исправить то, что уже есть.

0

Вам нужно войти в форму, нажать кнопку, в меню свойств вам нужно нажать на событие, найти onclick и дважды щелкнуть пробел. Он автоматически создаст метод onclick для вас.