레이블이 하위 인 단추 재정의가 있습니다. MouseEnter 및 Leave 이벤트가 단추 컨트롤에 첨부되어 있습니다.WPF의 IsHitTestVisible에 해당하는 WinForms
마우스가 레이블에 들어가면 단추의 이벤트가 무효화됩니다 (자연 스럽습니다). 내 질문은 어떻게 실제로 레이블을 사용하지 않고도 레이블의 적중 테스트를 비활성화 할 수 있습니다.
색상을 유지하고 색상을 변경할 수 있기를 원하지만 (예 : 버튼에서 MouseEnter), 마우스가 레이블 위에있을 때 버튼에서 히트 테스트를 고려해야합니다.
추신 : 나는 마우스에 마우스를두고 레이블에 남겨두고 해당 사례를 처리 할 수 있음을 알고 있지만 매개 변수가 바뀌면 (마우스의 색상 입력 및 나가기) 컨트롤은 여전히 올바르게 작동합니다.
접을 수있는 패널이라는 사용자 지정 패널에 대한 사용자 지정 헤더가 필요합니다. 단추를 클릭하면 패널이 확장/축소된다는 것을 알았을 것입니다. 이제 버튼에 두 가지 요소가 있어야합니다. 1. 버튼 (운좋게도 버튼이 있음)과 헤더 텍스트 (2. 텍스트). 버튼의 기본 Text 속성을 사용한다면 두 개 (이미지와 텍스트)가 겹칠 것입니다 (텍스트의 공백 문자는 옵션이 아닙니다). 그래서 레이블 접근 방식으로 왼쪽으로 설정했습니다. 이미지의 깨끗한 이미지와 HeaderText 레이아웃으로 끝납니다. – rotSin
"버튼에 라벨이 필요한 이유는 무엇입니까?" 일반적인 WinForms 버튼은 모든 디자인 요구 사항을 캡슐화 할 수 없기 때문입니다. 또한 WPF는 이런 종류의 행동을 장려하기 때문에 OP에 의한 질문입니다. – teynon