2013-07-05 7 views
3

예를 들어 이벤트 처리기를 만들려고 할 때. C#에서 버튼을 클릭합니다. 클래스의 코드에서 수동으로 코드를 작성하면 이벤트 핸들러가 호출되지 않습니다. 반면에 양식의 버튼을 두 번 클릭하면 VS 자동 이벤트가 생성되지만 완벽하게 작동합니다. 이 문제의 원인은 무엇입니까?Visual Studio의 이벤트 처리기

+2

코드를 수동으로 작성할 때 호출하지 않는 모든 클릭에 대한 이벤트 세부 정보가 들어있는 Designer.cs 파일이 있습니다. – Rahul

+0

"이벤트 처리기가 호출되지 않습니다"- 이벤트 표시 구독 코드. 수동 구독은 양식 디자이너를 통해 만들어진 것처럼 잘 작동해야합니다. 또한, 어떤 GUI 프레임 워크를 의미합니까? – Dennis

+1

안녕하세요. Dennis, 저는 Windows 양식 응용 프로그램을 의미합니다 ... –

답변

4

각 양식 (각 양식에는 자체 디자이너 파일이 있음)에 대한 이벤트를 연결하는 파일이 Form.Designer.cs입니다.

그 열기와 같은 라인을 확인할 수있는 것들 :

button1.Click += button1_Click; 

.. 등을. 로 아래

: 이벤트 핸들러는 사용자가 만든 함수에 연결되어야 함을 알 수

Designer file

Click wiring

+0

이것은 답변이 아닙니다. OP가 왜 수동 이벤트 구독이 작동하지 않는지 물어 봅니다. – Dennis

+0

@Dennis 그건 이상한데, 왜냐하면 나는 "이 마법 사건 처리가 어떻게 일어나는가"라고 읽었 기 때문이다. 또한, 그것은 OP에 의해 허용되었습니다. –

+1

본인의 코드에서 이벤트 핸들러를 삭제하면 Designer.cs에서 관련 코드를 삭제할 때 오류가 발생합니다. Simon과 Rahul에게 감사 드린다. –

0

파일 밤은.

수동으로 연결하려면 버튼을 한 번 클릭하고 속성 창의 상단 섹션에 번개 기호 (이벤트)가 표시됩니다. 클릭하고 클릭 이벤트까지 스크롤 한 다음 그 위에 함수를 추가하십시오.