2011-03-23 2 views
1

C#에서 코딩 중이며 SaveFileDialog의 '저장'및 '취소'버튼의 기본 배열을 변경하고 싶습니다. 기본 배열은 '저장'버튼이 '취소'버튼 위에 있다는 것입니다.SaveFileDialog에서 저장 및 취소 버튼의 기본 배열을 변경하십시오.

내가 원하는 것은 '저장'버튼의 오른쪽에 '취소'버튼을 배치하는 것입니다.

웹을 통해 검색 한 결과이 단추의 텍스트를 변경할 수 있으며 (스택 오버 플로우 자체에 대한 답변이 있음) 배열 (위치)을 변경할 때 아무 것도 발견되지 않았습니다. 당신이

답변

4

이 작업을 수행하지 마십시오

너희 중에 누구든지이 지금까지 경험 한 경우 나에게 솔루션을 제공주세요 ....

은 감사합니다.

사용자는이 버튼이 나타나는 위치에 익숙합니다. 당신이 그들의 레이아웃을 바꾸려고한다면, 당신은 단지 당신에게 앱이 잘못 느끼게 만들 것입니다.

이렇게해야한다면 레거시 파일 대화 상자를 사용해야합니다 (그러면 대화 상자가 Vista/7에서 더욱 이상하게 보일 것입니다). OPENFILENAME 구조체의 lpfnHook 필드를 사용하여 대화 상자 프로 시저에 후크를 가져옵니다. CDN_INITDONE 알림에 응답하고 MoveWindow 또는 SetWindowPos를 사용하여 단추를 이동하십시오. 버튼 창 핸들을 사냥해야합니다.

하지만 정말로 그러지 마세요. 앱을 악화시킬뿐입니다.

+0

감사합니다. 그렇게해야한다는 요구가 있었고 이것이 문제를 해결했습니다 !!! –

3

해결할 수 있습니다. 단추의 텍스트를 변경하는 코드가 있으면 단추 창의 핸들이 있습니다. 다음 GetWindowRect 및 MoveWindow pinvoke 다른 곳에 단추를 이동할 때 사용할 수 있습니다. 선언에 대해서는 pinvoke.net을 방문하십시오.

마다 대화 상자가 Windows 버전으로 변경되었습니다. 다음 프로그램으로 인해 프로그램이 중단 될 수 있습니다. 고객이하지 않을 때 실망하지 않을 것입니다.

+2

+1 "당신의 고객은 당신이 이것을하지 않으면 실망하지 않을 것입니다."어쨌든 나는 웃었다. –

+0

답변 해 주셔서 감사합니다. –

관련 문제