2017-04-03 11 views
0

私はwinformsアプリケーションを持っています。メインフォームには、クリックすると他のフォームを開くボタンがいくつかあります。ビジュアルスタイル/テーマを単一のフォームで無効/無効にする

ビジュアルスタイル/テーマを無効にするフォームがあります。また、私は子供のためのビジュアルスタイルを無効にしたいと思います。出来ますか?もしそうなら、どのように?例えば

、私は、メインフォーム上の三つのボタンがあるとします。

  • Button1form1Button2
  • クリックでを開き、クリック
  • Button3form2を開きますので、form3
  • クリックで

を開きますButton2をクリックすると、視覚的なスタイルのみが無効になります。私はフォーム上でビジュアルスタイルを有効にしたいと考えています: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

を、私はそれが唯一の "Windows Vistaの[デスクトップアプリのみ]" ..はでしたがサポートされていと思いますあなたはここでチェックしてください? https://msdn.microsoft.com/en-us/library/windows/desktop/bb759827(v=vs.85).aspx – Naidu

+0

@pavancそれは私のWindows 10のマシンで動作するようです – Bassie

+0

Ok ..素晴らしい...私はドキュメントと混同していました。 – Naidu

関連する問題