Windows Form

全体

Vista/Windows 7 環境で Windows Form アプリケーションの見た目が OS に合わせます。見た目を XP 風にするには。アプリケーション全体に下記のような設定する必要がある。

Application.EnableVisualStyles()

カレンダー

カレンダー表示では、VBで設定したプロパティ値が引き継がれず、OSの設定が反映されてしまうようですので、設定を有効するするため、下記のような設定が必要。

 Application.VisualStyleState = VisualStyleState.NoneEnabled

だが、残念なことに、フォームのデザインがWin2000のような表示になってしまいました。
(フォームの角に丸みがない、色も若干違う。懐かしいフォームの形を見ました。)

Win32 API

ComboBoxを例として、Win32 API でVista/Windows 7環境におけるXPのVisual Styleの利用する方法を紹介します。

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

class MyComboBox : ComboBox {
    protected override void OnHandleCreated(EventArgs e) {
        base.OnHandleCreated(e);
        SetWindowTheme(this.Handle, "", "");
    }
    
    [DllImport("uxtheme.dll")]
    private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist);
}


中古車買取実績No.1ガリバー

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:44:28 (1628d)

PCpዾyǗlgĂ܂}WŔ܂z 萔O~ył񂫁z Yahoo yV NTT-X Store

z[y[W ̃NWbgJ[h COiq ӂ邳Ɣ[ COsیI COze