2011-01-19 2 views
1

현재 타사 응용 프로그램 용 플러그인 dll에서 작업 중입니다. 내 DLL의 일부가 System.Windows.Forms.MonthCalendar 인 팝업 창이 있습니다. 이제 Visual Studio에서 작업 할 때 테스트 응용 프로그램으로 팝업을 열었을 때 한 가지 방법으로 보였지만 타사 응용 프로그램을 열면 모양이 달라졌습니다. 다르게 보이는 것의 꼭대기에는 서로 다른 행동을합니다. 왜 아무 생각 없어? 한 가지 문제는 내 dll이 .Net 3.5로 구축되었으며 타사 응용 프로그램이 .Net 2.0 (내 생각)이라는 것입니다. 하지만 .Net 2.0으로 테스트 응용 프로그램을 만들었더라도 여전히 같은 방식으로 작동했습니다.왜 타사 앱에서 MonthCalendar가 다르게 보입니까?

alt text

그리고 여기에 내가 갖는 내용은 다음과 같습니다 : 여기

는 내가 기대하고있는 무슨이다

alt text

답변

4

가 제 3 자 응용 프로그램이 비주얼 스타일을 가능하게되지 않으며,이다 따라서 고전적인 Windows UI 테마로 되돌아갑니다. 단추와 콤보 상자도 똑같지 않게 보입니다. 현재 Windows 테마를 적용하려면 타사 응용 프로그램에서 비주얼 스타일을 활성화해야합니다.

(연습으로, 고전적인 테마를 사용하고 작동 테스트 응용 프로그램을보고 윈도우 기본 설정을 전환 해보십시오 -. 그것이 제 3 자 하나 동일 보일 것입니다)

+0

그래서하는 방법이있다 제 3 자 앱에서 호출 할 때 고전적인 Windows UI 테마를 사용하도록 내 팝업을 강요합니까? – juharr

+0

아마도,하지만 강제로하지는 않을 것입니다. 특정 UI 테마가 주어지면 컨트롤이 제대로 작동하도록 컨트롤을 설계해야합니다. Vista/7 테마에서만 잘 작동하도록 디자인 한 것 같습니다. X, Y 레이아웃 대신 자동 크기 조정 테이블 레이아웃을 사용하고 손을 댈 수있는만큼 많은 테마를 사용하여 테스트하십시오 (이유가 있음). – cdhowie

+0

그래, 내 테스트 응용 프로그램에서'Application.EnableVisualStyles()'를 제거하면 타사 응용 프로그램과 동일한 결과가 생성됩니다. 이제 제 3 자 앱을 위해 사용할 수 있는지 알아 보겠습니다. – juharr