2010-12-16 13 views
8

जब मैं वीएस -2008 में विवरण दृश्य में लिस्ट व्यू बनाता हूं, तो यह एक पुरानी दिखने वाली सूचीदृश्य बनाता है। इसमें कोई फैंसी होवर प्रभाव और ठंडा नीली सीमा नहीं है (उदाहरण के लिए) WinVista और Win7 में फ़ाइल एक्सप्लोरर है। उदाहरण के लिए छवि देखें: alt textसी # विंडोज 7/विस्टा स्टाइल लिस्ट व्यू

तो संक्षेप में प्रस्तुत करने, मैं ऊपर चित्र में से एक की तरह सी # VS2008 नज़र में एक ListView कैसे मिल सकता है? (तुलना के लिए सही पर VS2008 सूचीदृश्य)

धन्यवाद

उत्तर

13

कोशिश बुला SetWindowTheme

इस तरह:

[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); 
    } 
+0

धन्यवाद, पूरी तरह से काम किया :) – Ozzy

+0

@GvS: क्या आपके पूरे ऐप के लिए ऐसा करने का कोई तरीका है? Usaiton.EnableVisualStyles() की तरह कुछ? –

+0

आप ठंडा होवर शैली को सक्षम करने के लिए 'हॉटट्रैकिंग' सेट भी करना चाहेंगे। @JohnGietzen केवल सोचें कि मैं एक [कस्टम संदेश फ़िल्टर] (http://msdn.microsoft.com/en-us/library/system.windows.forms.application.addmessagefilter.aspx) के बारे में सोच सकता हूं WM_CREATE की तलाश में है। – jnm2

0

आप Windows API Code Pack जांच की है? इसमें कई Win7 शैली नियंत्रण हैं। मुझे लगता है कि यह वही है जो आप चाहते हैं।

संबंधित मुद्दे