2017-04-03 3 views
0

winforms 응용 프로그램이 있습니다. 기본 양식에는 클릭시 다른 양식을 여는 일부 버튼이 있습니다.단일 양식의 비주얼 스타일/테마 사용 안함/해제

비주얼 스타일/테마를 비활성화하려는 양식이 있습니다. 또한 그 자식에 대한 시각적 스타일을 비활성화하고 싶습니다. 가능한가? 그렇다면 어떻게?

  • Button1가 클릭
  • Button2form1 열립니다 클릭
  • Button3form2가 클릭

form3 열립니다 열립니다

예를 들어

, 나는 기본 폼에 세 개의 버튼이 있다고 가정 Button2을 클릭하면 시각적 스타일 만 사용 중지하려고합니다. es를 사용하고 있지만 양식의 시각적 스타일을 계속 사용하고 싶습니다 (form1form3).

답변

0

당신은 PInvoke SetWindowTheme하여이 작업을 수행 할 수 있습니다 : 예를 들어 다음

[DllImport("uxtheme.dll")] 
private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist); 

당신의 button2 이벤트 처리기에서 :

var form2 = new Form2(); 
SetWindowTheme(form2.Handle, "", ""); 
form2.Show(); 
+0

을 내가는 "윈도우 비스타 [데스크톱 애플리케이션 전용]"..이 수를 지원하는 생각 너 여기서 확인해? https://msdn.microsoft.com/en-us/library/windows/desktop/bb759827(v=vs.85).aspx – Naidu

+0

@pavanc 내 Windows 10 컴퓨터에서 작동하는 것 같습니다 – Bassie

+0

좋습니다 ... 그냥 설명서와 혼동 스러웠습니다. – Naidu

관련 문제