不知各位有沒有這樣的痛苦,在用 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>>