DataGridview와 같은 상속 된 컨트롤에 이벤트 처리기를 추가해야하지만 Visual Studio에서 허용하지 않습니다. 상속 된 컨트롤이 기본 이벤트 처리기를 상속하고 상속 된 컨트롤을 시작하는 방법이 없습니까? 내가 지정한 순서대로?상속 된 winform 컨트롤에 이벤트 처리기를 추가하는 방법?
0
A
답변
1
질문이 명확하지 않습니다. 상속 된 컨트롤에서 기본 클래스의 이벤트를 처리하려고한다고 가정 할 때 On EventName 보호 된 가상 메서드를 재정의 할 수 있습니다. 오버라이드에서는 기본 메서드를 호출해야합니다. 그렇지 않으면 이벤트가 실행되지 않습니다.
이 메서드는 System.Windows.Forms의 모든 컨트롤에있는 모든 이벤트에 대해 존재합니다 (AFAIK). 상속 한 컨트롤에이 가상 메서드가 없으면 생성자의 vent에 구독 할 수 있습니다. 예를 들어
:
class MyButton : Button {
//First way
protected override void OnClick(EventArgs e) {
base.OnClick(e); //Without this line, the event won't be fired
//...
}
//Second way
public MyButton() {
base.Click += Base_Click;
}
void Base_Click(object sender, EventArgs e) {
//...
}
}
편집 :
당신은 기본 클래스 '이벤트를 발생하려는 경우, 당신은 EventName을 방법에 다음을 호출 할 수 있습니다.
기본 클래스에없는 경우 새 이벤트를 선언하고 새 이벤트를 발생시키는 기본 클래스의 원래 이벤트에 처리기를 추가해야합니다. 기본 클래스의 이벤트를 사용하는 다른 코드가 있고 evnet이 virtual
이 아니며 발 행자 메소드가없는 경우 기본 clas를 디 컴파일하고 이벤트가 어디에 있는지 알아낼 수 없다면 운이 없어진 것입니다 제기된다.
1
WinForms의 이벤트에는 일반적으로 해당 "On *"메서드가 있습니다. 이 메소드를 호출하면 이벤트가 발생합니다. 예를 들어 "CellClick"을 올리려면 "base.OnCellClick (new DataGridViewCellEventArgs (row, column))"을 호출하십시오.
관련 문제
- 1. ITemplate를 상속 한 clss에서 이벤트 처리기를 추가하는 방법
- 2. 상속 된 winform 컨트롤에 대한 액세스 금지
- 3. 데이터 템플릿 내의 컨트롤에 이벤트 처리기를 연결하십시오.
- 4. 사용자 컨트롤에 대한 대리자 및 이벤트 처리기를 사용하는 방법
- 5. winforms 디자이너에서 상속 된 컨트롤에 액세스하는 방법
- 6. WPF 두 개의 다른 컨트롤에 동일한 이벤트 처리기를 바인딩하는 방법
- 7. 동적으로 추가 된 컨트롤에 이벤트 추가
- 8. 프로토 타입 new Element() 생성자와 함께 이벤트 처리기를 추가하는 방법?
- 9. 상속 된 속성에 기능을 추가하는 방법?
- 10. winform C# 응용 프로그램에 도움말을 추가하는 방법
- 11. 다른 Windows Forms 컨트롤에 동일한 이벤트 처리기를 사용하는 것이 안전합니까?
- 12. 비슷한 여러 컨트롤에 대한 이벤트 처리기를 작성하는 방법은 무엇입니까?
- 13. 상속 된 폼의 이벤트 처리
- 14. C# : 상속 된 이벤트 발생시키기
- 15. 탭 컨트롤에 컨트롤을 추가하는 방법
- 16. 불필요한 이벤트 처리기를 추가합니까?
- 17. 상속 된 클래스 내의 하위 컨트롤에 액세스하는 방법?
- 18. C# 이벤트 처리기를 "처리 된"것으로 표시하는 방법?
- 19. 이벤트 또는 상속?
- 20. JQGrid에 프로그래밍 방식으로 이벤트 처리기를 추가하는 방법은 무엇입니까?
- 21. sharepoint 단추 클릭 코드 처리기를 추가하는 방법
- 22. Microsoft WinForm 컨트롤에 요소 추가
- 23. mshtml.DispHTMLInputElement에 이벤트 처리기를 연결하십시오.
- 24. 컨트롤에 이벤트 첨부하기
- 25. 동적 제어 이벤트 처리기를 만드는 방법
- 26. SharePoint의 특정 목록에 이벤트 처리기를 연결하는 방법?
- 27. 장고 양식 입력란에 이벤트 처리기를 설정하는 방법
- 28. 유니티가있는 이벤트에 이벤트 처리기를 삽입하는 방법
- 29. VB.Net에서 람다 이벤트 처리기를 선언하는 방법?
- 30. 컨트롤에 관계없이 MouseDown 이벤트 처리
+1 이것은 내가 찾고있는 대답이었습니다. –