2010-12-16 11 views
8

VS2008の詳細ビューでListViewを作成すると、かなり古いリストビューが作成されます。 WinVistaやWin7のファイルエクスプローラに(例えば)気に入ったホバー効果やクールな青い枠線がありません。たとえば、画像を参照してください: alt text 要約すると、私はどのようにC#VS2008のリストビューを上の写真のように見えるでしょうか?C#Windows7/VistaスタイルListView

[DllImport("uxtheme.dll", ExactSpelling=true, CharSet=CharSet.Unicode)] 
    private static extern int SetWindowTheme(IntPtr hwnd, string pszSubAppName, string pszSubIdList); 

    // The constructor: 
    public MyForm() { 
     SetWindowTheme(this.listView1.Handle, "Explorer", null); 
    } 

答えて

13

は次のようにSetWindowTheme

を呼び出してみては?それは多くのWin7スタイルのコントロールを持っています。私はそれがあなたが望むものを持っていると思う。

+0

ありがとう、完璧に働いた:) – Ozzy

+0

@ GvS:あなたのアプリ全体でこれを行う方法はありますか? Applicaiton.EnableVisualStyles()のようなもの? –

+0

クールなホバースタイルを有効にするために 'HotTracking'を設定することもできます。 @ JohnGietzen私は[カスタムメッセージフィルタ](http://msdn.microsoft.com/en-us/library/system.windows.forms.application.addmessagefilter.aspx)がWM_CREATEを探しているとしか思えないと思う。 – jnm2

0

あなたは​​を確認した。(比較のために右のVS2008のリストビュー)

おかげ