문제

특정 Windows 응용 프로그램에서 사용되는 파일 열기 대화 상자의 "열기"버튼에는 추가 옵션 목록이있는 드롭 다운 화살표 (즉, "연결 프로그램 ..")가 있습니다.

모든 Windows 응용 프로그램에서이 기능을 보지 못했기 때문에 몇 가지 시도해보아야 할 수도 있지만 메뉴로 이동하여 파일-> 열기-> 파일 ...

내 응용 프로그램 중 하나에서 기본 제공 목록이있는 이와 같은 단추를 사용하고 싶지만 Visual Studio에서 사용중인 컨트롤을 찾을 수 없습니다.전체 대화 상자가 아닌 특정 단추를 찾고 있음을 명확히해야합니다.어떤 생각?

도움이 되었습니까?

해결책

VS의 파일 열기 대화 상자에있는 분할 열기 버튼을보기 위해 Spy ++ (VS와 함께 설치됨)의 드래그 가능한 검색을 사용했습니다.

이것은 BS_DEFSPLITBUTTON을 포함하는 스타일의 일반 창 버튼임을 나타냅니다. 다음과 같은 흥미로운 장소로 안내하는 마법의 키워드입니다.

http://www.codeplex.com/windowsformsaero/ SourceControl / FileView.aspx? itemId= 212902 & changeSetId= 9930

그리고 여기

http://msdn.microsoft.com/en-us/ library / bb775949.aspx # using_splits

도움이되기를 바랍니다.

수정 :

실제로 CodePlex에서 해당 코드를 시도했으며 분할 버튼을 생성합니다.하지만 버튼의 FlatStyle을 기본값 인 'Standard'가 아닌 'System'으로 설정했는지 확인해야합니다. 드롭 다운에 대한 이벤트 처리 항목을 연결하는 데 신경 쓰지 않았지만 MSDN 링크에서 다루고 있다고 생각합니다.

물론, 이것은 Vista 전용입니다 (하지만 codeplex의 이름에도 불구하고 Aero를 활성화 할 필요는 없습니다). 이전 OS 지원이 필요한 경우 다시 직접 그릴 수 있습니다.

다른 팁

Ketarin 에 이와 같은 버튼이 있다는 것을 기억했습니다.

Reflector 를 사용하여 다음과 같은 훌륭한 오픈 소스 컨트롤을 찾았습니다. wyDay.SplitButton . wyDay.SplitButton

당신이 찾고있는 것이 toolStripSplitButton이라고 생각합니다.toolStrip에서만 사용할 수 있습니다.그러나 양식의 아무 곳에 나 toolStripContainer를 추가 한 다음 컨테이너 안에 toolStrip 및 toolStripSplitButton을 넣을 수 있습니다.

그립을 표시하지 않으려면 gripMargin= 0으로 설정해야합니다. 도구 스트립이 버튼에 맞도록 autosize= true를 설정할 수도 있습니다.버튼은 양식에서 일반 버튼 (분할 부분 제외)처럼 보입니다.

이 두 가지 사용에 익숙하지 않지만 msdn에서 splitbutton 또는 dropdownbutton을 검색해보십시오.당신이 찾고있는 것과 비슷하다고 생각합니다.

다음은 내 분할 버튼 구현입니다.화살표를 그리지 않으며 초점 / 초점 해제 동작이 약간 다릅니다.

저와 원본 모두 시각적 스타일을 처리하고 Aero로 멋지게 보입니다.

http://wyday.com/splitbutton/ 기반 라코 디스

.NET에서 할 수있는 빌트인 컨트롤이 없다고 생각합니다.표준 Windows Button 컨트롤에 대한 MSDN 설명서를 살펴 보았지만 거기에있는 것처럼 보이지 않습니다.

맞춤 구현이 포함 된 코드 프로젝트 기사 를 찾았습니다.도움이 될 수 있습니다.

윈도우 자체에서 컨트롤을 찾았 기 때문에 이미 어딘가에이 컨트롤이 내장되어 있기를 바 랐기 때문에이를 사용하기 위해 코드 기반에 아무것도 추가 할 필요가 없었습니다.그러나 이 링크 (msdn 제안을 통해 발견됨)의 분할 버튼은 예쁘게 보입니다.유망합니다.

나중에 직접 시도해 보 겠지만 비주얼 스타일을 얼마나 잘 처리 할 수 있을지 모르겠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top