2011-10-15 1 views
1

사용자 정의 컨트롤에 8 개의 라디오 버튼이 있습니다. 그들 각각은 자신의 클릭 핸들러를 가지고 있거나 가지고있을 것입니다. 첫 번째에는 사용자 정의 컨트롤이 주 윈도우에 추가 될 때 클릭 핸들러가 호출됩니다. 이 Windows Forms의 정상적인 동작입니까? Java 배경에서 .NET에 비교적 익숙하지 않습니다.Windows Forms 라디오 버튼 클릭 이벤트가 시작되고 있습니다.

답변

1

이 효과는 컨트롤이 폼에 추가되는 것이 아니라 기본 컨트롤 선택의 결과 일 수 있습니다. 양식로드가 완료되면 양식의 컨트롤 중 하나가 활성 컨트롤/포커스가됩니다. 해당 컨트롤이 라디오 버튼 인 경우 버튼이 확인되어 ClickCheckChanged과 같은 이벤트가 발생합니다 (라디오 버튼 Checked 속성이 이미 true로 설정되어 있지 않은 경우). 다른 버튼의 Checked 속성 값에 따라 CheckChanged 이벤트가 실행되는 것을 볼 수 있습니다.

직접 테스트하려면 폼의 다른 컨트롤이 가장 낮은 인덱스를 갖도록 디자이너에서 TabIndex 속성 값을 변경하십시오. 이렇게하면 컨트롤에 라디오 버튼 대신 시동에 초점이 맞춰집니다. 이 경우 양식이로드 될 때 Click 이벤트가 시작되지 않아야합니다.

+0

라디오 단추가 사용자 정의 컨트롤 안에 중첩되어 있고 해당 컨트롤이 폼의 기본값 인 경우에도이 문제가 발생합니다. – Zero