2009-08-03 4 views
2

여러 개의 라디오 버튼과 버튼이있는 사용자 컨트롤이 있습니다 ... 버튼의 클릭 이벤트와 라디오 버튼의 CheckedChange 이벤트를 처리하는 코드가 있습니다.WinForm에 동적으로 추가 된 사용자 정의 컨트롤은 내부 컨트롤 이벤트를 발생시키지 않습니다.

이 userControl을 동적으로 Form 패널에 추가 한 후에 내부 컨트롤의 이벤트가 실행되지 않는다는 것을 알았습니다.

"새로운"사용자 정의 컨트롤을 만들고이를 Panel의 Controls 컬렉션에 추가하고 있습니다. 또한 사용자 정의 컨트롤의 "표시"메서드를 호출하고 있습니다.

사용자 정의 컨트롤의 LoadEvent가 호출됩니다 ... OnLoad 이벤트 처리기의 라디오 버튼 중 하나를 프로그래밍 방식으로 확인하면 ... CheckedChange 이벤트가 발생하지만 "마우스로" 작동하지 않습니다.

내부 컨트롤의 이벤트가 실행되지 않는 이유는 무엇입니까?

미리 감사드립니다.

+0

당신은 답을 찾았습니다 - 그것을 닫으십시오. – Avram

답변

1

문제 해결.

내 usercontrol의 생성자에서 InitializeComponent()에 대한 DOUBLE 호출을 발견했습니다 ... 복사 붙여 넣기 오류였습니다.

+0

"대답"섹션에 표시되지 않도록 "답변"으로 표시하십시오 ... – awe

+0

미안 해요 ... 그것은 ' 그 순간에 나를 용서해주십시오. 그러면 잊어 버립니다. – Romias

0

어쩌면, 동적으로 CheckedChanged에 이벤트를 설정 필요 :

radioButton1.CheckedChanged += new EventHandler(radioButton1_CheckedChanged); 
+0

mmm ... usercontrol이 dinamically 만들어진 ...하지만 그것의 컨트롤은 디자인 타임에 만들어집니다. – Romias

+0

라디오 버튼에서 이벤트를 포착 할 필요가 있습니까? UserControl 내부 - 이벤트가 바인드되어 있는지 확인하십시오. 기본 폼 (패널)에있는 경우 기본 폼에 대한 이벤트를 만듭니다 (userControl.radioButton.CheckedChanged + = 새 EventHandler (기본 폼의 메서드)) – Chernikov

+0

UserControl은 마법사 단계이므로 사용자가 선택한 RadioButton을 변경하면 그 usercontrol에서 처리하고 나중에 기본 폼에 의해 소비되는 속성을 설정하십시오. – Romias

관련 문제