Windows Forms XP style on VS.NET

你是第41位浏览该文章的人 DennisLan csdn 2003-8-17

不知各位有沒有這樣的痛苦,在用 VS.NET2003 開發 WinForm 應用程式的時候,明明自己的 OS 是 XP,可是做出來的畫面執行出來還是老土的原來的 Windows 的風格,無論屬性怎樣定,還是不起作用. 其實可以用下面的方法作到,不過要自己動手.

一. 畫面上物件屬性的設定

把 button,radiobutton,checkbox ... 等等.您要把其顯示風格改為 XP 的都要設定其"外觀" 中的 floatStyle -> "System"

二. 自己加入設定的 Assembly

  1. Copy 下面的內容,修改相關內容("name"->您應用程式的名稱,如果在開發中它應該在 ../debug/下的 .exe file), 其它內容請不要修改.

    // 以下代碼 (C) by Matthew MacDonald

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity
    version = "1.0.0.0"
    processorArchitecture= "X86"
    name = "MyOutLook" <--此處要修改成你自己的程式的名稱-->
    type="win32" />
    <dependency>
    <dependentAssembly>
    <assemblyIdentity
    type = "win32"
    name="Microsoft.Windows.Common-Controls"
    version = "6.0.0.0"
    processorArchitecture="X86"
    publicKeyToken = "6595b64144ccf1df"
    language = "*" /> 
    </dependentAssembly>
    </dependency>
    </assembly>
    
  2. 把修改好的內容存為以 .manifest 為後綴名的 file,把其放到和您的應用程式相同的 Directory(在開發時應該在../bin/debug/), 如:您的 .exe 程式名稱為 MyApp.exe ,那麼這個文件的名稱就為 MyApp.exe.manifest(看起來有兩個後綴名)

  3. 重新用 VS.NET2003 打開您的 Project, Compile 執行.有沒有看到,已經是 XP 的風格了!(注: 這個作法只能在 XP OS 起作用,如果您把程式佈置到 Win95/98 2000 或 Nt 上,程式在執行時會忽略,仍是非 XP 風格,如果您想在非 XP 上顯示 XP 風格,請到 http://www.codeproject.com上 Search,那里有一個 Sample).

怎麼樣,您的界面變成 XP 風格了嗎? 祝您好運!

參考資料

Matthew MacDonald 所著的 <<User Interfaces In C#: Windows Forms and Custorm Controls>>

Contributors: FHL