이것은 어떤 제어입니까?(드롭 다운이있는 "열기"버튼)
문제
특정 Windows 응용 프로그램에서 사용되는 파일 열기 대화 상자의 "열기"버튼에는 추가 옵션 목록이있는 드롭 다운 화살표 (즉, "연결 프로그램 ..")가 있습니다.
모든 Windows 응용 프로그램에서이 기능을 보지 못했기 때문에 몇 가지 시도해보아야 할 수도 있지만 메뉴로 이동하여 파일-> 열기-> 파일 ...
내 응용 프로그램 중 하나에서 기본 제공 목록이있는 이와 같은 단추를 사용하고 싶지만 Visual Studio에서 사용중인 컨트롤을 찾을 수 없습니다.전체 대화 상자가 아닌 특정 단추를 찾고 있음을 명확히해야합니다.어떤 생각?
해결책
VS의 파일 열기 대화 상자에있는 분할 열기 버튼을보기 위해 Spy ++ (VS와 함께 설치됨)의 드래그 가능한 검색을 사용했습니다.
이것은 BS_DEFSPLITBUTTON을 포함하는 스타일의 일반 창 버튼임을 나타냅니다. 다음과 같은 흥미로운 장소로 안내하는 마법의 키워드입니다.
그리고 여기
http://msdn.microsoft.com/en-us/ library / bb775949.aspx # using_splits
도움이되기를 바랍니다.
수정 :
실제로 CodePlex에서 해당 코드를 시도했으며 분할 버튼을 생성합니다.하지만 버튼의 FlatStyle을 기본값 인 'Standard'가 아닌 'System'으로 설정했는지 확인해야합니다. 드롭 다운에 대한 이벤트 처리 항목을 연결하는 데 신경 쓰지 않았지만 MSDN 링크에서 다루고 있다고 생각합니다.
물론, 이것은 Vista 전용입니다 (하지만 codeplex의 이름에도 불구하고 Aero를 활성화 할 필요는 없습니다). 이전 OS 지원이 필요한 경우 다시 직접 그릴 수 있습니다.
다른 팁
Ketarin 에 이와 같은 버튼이 있다는 것을 기억했습니다.
Reflector 를 사용하여 다음과 같은 훌륭한 오픈 소스 컨트롤을 찾았습니다. wyDay.SplitButton .
당신이 찾고있는 것이 toolStripSplitButton이라고 생각합니다.toolStrip에서만 사용할 수 있습니다.그러나 양식의 아무 곳에 나 toolStripContainer를 추가 한 다음 컨테이너 안에 toolStrip 및 toolStripSplitButton을 넣을 수 있습니다.
그립을 표시하지 않으려면 gripMargin= 0으로 설정해야합니다. 도구 스트립이 버튼에 맞도록 autosize= true를 설정할 수도 있습니다.버튼은 양식에서 일반 버튼 (분할 부분 제외)처럼 보입니다.
이 두 가지 사용에 익숙하지 않지만 msdn에서 splitbutton 또는 dropdownbutton을 검색해보십시오.당신이 찾고있는 것과 비슷하다고 생각합니다.
다음은 내 분할 버튼 구현입니다.화살표를 그리지 않으며 초점 / 초점 해제 동작이 약간 다릅니다.
저와 원본 모두 시각적 스타일을 처리하고 Aero로 멋지게 보입니다.
http://wyday.com/splitbutton/ 기반 라코 디스
.NET에서 할 수있는 빌트인 컨트롤이 없다고 생각합니다.표준 Windows Button 컨트롤에 대한 MSDN 설명서를 살펴 보았지만 거기에있는 것처럼 보이지 않습니다.
맞춤 구현이 포함 된 코드 프로젝트 기사 를 찾았습니다.도움이 될 수 있습니다.
윈도우 자체에서 컨트롤을 찾았 기 때문에 이미 어딘가에이 컨트롤이 내장되어 있기를 바 랐기 때문에이를 사용하기 위해 코드 기반에 아무것도 추가 할 필요가 없었습니다.그러나 이 링크 (msdn 제안을 통해 발견됨)의 분할 버튼은 예쁘게 보입니다.유망합니다.
나중에 직접 시도해 보 겠지만 비주얼 스타일을 얼마나 잘 처리 할 수 있을지 모르겠습니다.