blog นี้สำหรับคนใช้ VS.NET โดยเฉพาะเลยครับ ลองดูสองภาพนี้เปรียบเทียบ
With .NET Manifest (compiled with Sharpdevelop)
Without .NET Manifest (compiled with Visual Studio .NET 2003)

ภาพแรกนั้นผมคอมไพล์โดยใช้ #Dev 1.1 จะเห็นว่า Progress Bar และ Calendar ดูสวยกว่าภาพที่สองซึ่งคอมไพล์ด้วย VS.NET 2003

ปกติผมก็จะใช้ #Dev เป็น IDE ในการเขียน .NET อยู่แล้ว จึงไม่ได้สังเกตเห็นความแตกต่างข้อนี้ จนแต่พอได้มาใช้ VS.NET มาเขียนโปรแกรมเป็นบางครั้ง จึงได้สังเกตว่าทำไม Progress Bar ถึงมีหน้าตาแปลก ๆ จตอนแรกก็คิดว่ามีซักโปรแกรมแอบทำอะไรในตอนคอมไพล์ ใจึงลองเขียนโปรแกรมแบบเดียวกัน โดยตั้งค่าให้เหมือนกัน วาง control ที่เดียวกัน กำหนด Property ให้เหมือนกันทุกอย่าง แล้วลองใช้ ildasm ลอง disassembly ออกมาเป็น MSIL ดู ก็ปรากฏว่า ผลลัพธ์ก็เหมือนกันอีก แล้วผมก็บังเอิญเห็นว่ามีสิ่งแตกต่างกันในโฟลเดอร์ output ของทั้งสองตัว ก็คือ โฟลเดอร์ของโปรแกรมที่คอมไพล์ด้วย #Dev มีไฟล์นี้อยู่
Manifest file

โดยไฟล์ทางขวา เป็นไฟล์ XML ธรรมดา ซึ่งมีเนื้อหาดังนี้

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Microsoft.Windows.Common-Controls"
                version="6.0.0.0"
                processorArchitecture="X86"
                publicKeyToken="6595b64144ccf1df"
                language="*"
            />
        </dependentAssembly>
    </dependency>
</assembly>

วิธีทำให้ WinForm แสดงผลสวยงามก็ไม่ยากครับ แค่สร้างไฟล์ *.exe.manifest ซึ่งมีเนื้อหาแบบข้างบนนี้ไปวางไว้ที่เดียวกับ exe นั้นและตั้งชื่อให้เหมือนกับไฟล์ exe นั้น

update:แถมลิ้งค์ให้อีกอัน มีคนอธิบายว่ามันเกิดอะไรขึ้น Using a Manifest to get XP style controls.

ps: สาดดดดดด

Comment

Comment:

Tweet

อยากมี .Net เล่นมั่ง
มีข่าวลือว่าที่เกษตรฯ แจก
สงสัยต้องไปเล่น IT Square ;-)

#8 By veer on 2006-04-14 12:04

ยังไม่มีวาสนาได้จับ .NET เลยผม


ช่วยกัันสาดครับ

#7 By toey on 2006-04-14 11:19

trick นี้เจ๋งๆๆ

#6 By plynoi แว่วศรี on 2006-04-13 22:31

-"- แผ่น VS หาย เซ็งจิต...
สุขสันต์วันสงกรานต์นะครับ ขอให้ปีใหม่(ไทย)นี้มีความสุขมาก ๆ น่อ

#5 By mondaytakeshi on 2006-04-13 22:10

มันง่ายขนาดนั้นเลย....
สาดดดดดดด

#4 By ไอ้แพท.. on 2006-04-13 21:03



สาดๆ

#3 By ฟิวส์ on 2006-04-13 19:45


ร้อนจิงๆเลยวุ๊ย อิอิ

#2 By #G~nap# on 2006-04-13 19:29

ง่าละเอียดจริงๆ ครับพี่ ไม่เคยรู้มาก่อน
สาดม่าง

#1 By P.S. on 2006-04-13 19:12