Когда я пытаюсь создать обработчик событий, например. нажатие кнопки в C#, если я буду писать код вручную в коде за классом, обработчик события не будет вызываться; Если я дважды щелкнул по кнопке в форме, и VS автоматически генерирует событие, он будет работать отлично. В чем причина такого поведения?Обработчики событий в Visual Studio
ответ
Файл Form.Designer.cs
, который подключает события к каждой отдельной форме (каждая форма имеет собственный файл дизайнера).
Открыть, что и вы найдете такие строки:
button1.Click += button1_Click;
..etc.
Как показано ниже:
Это не ответ. ОП спрашивает, почему его подписка на ручное мероприятие не работает. – Dennis
@Dennis Это странно, потому что я прочитал его как «как происходит эта волшебная обработка событий». Кроме того, он был принят ОП. –
Я вижу, это именно то, что происходит, когда вы удаляете обработчик событий в своем коде позади, и это дает вам ошибку для удаления связанного кода с Designer.cs. Спасибо Саймону и Рахулу. –
Ваш файл разве в состоянии знать, что обработчик событий должен быть связан с функцией, которую Вы создали.
Если вы хотите связать вручную, нажмите кнопку один раз, а в верхней части окна свойств вы увидите символ молнии (события). Нажмите на это и прокрутите вниз до события клика, а там добавьте свою функцию.
есть файл 'Designer.cs', который содержит сведения о событиях каждого щелчка, поэтому он не вызывается при написании кода вручную. – Rahul
« обработчик событий не будет вызываться »- покажите свое событие подписной код. Ручные подписки также должны работать, как и с помощью конструктора форм. Кроме того, какие рамки GUI вы имеете в виду? – Dennis
Привет, Деннис, я имел в виду приложения для окон ... –