2008-08-17 17 views
7

दिखा रहा है मेरे पास एक सूची दृश्य नियंत्रण है, और मैं चयनित पंक्तियों को बदलने की अनुमति देने का सबसे आसान/सर्वोत्तम तरीका जानने की कोशिश कर रहा हूं, बिना छिपाए पंक्ति (यों)।सी # में एक सूची दृश्य को अक्षम करना, लेकिन अभी भी वर्तमान चयन

मुझे पता है कि HideSelection संपत्ति है, लेकिन यह केवल तब काम करता है जब ListView अभी भी सक्षम है (लेकिन केंद्रित नहीं है)। सूची दृश्य को अक्षम होने पर भी चयन को देखने की आवश्यकता है।

मैं इसे कैसे कार्यान्वित कर सकता हूं?

उत्तर

2

आप ListView स्वामी को भी बना सकते हैं। फिर आपके पास पूर्ण नियंत्रण है कि आइटम कैसे दिखते हैं या नहीं, या सूची दृश्य स्वयं सक्षम है या नहीं। DrawListViewItemEventArgs आइटम के अलग-अलग हिस्सों को आकर्षित करने के लिए ListView से पूछने का एक तरीका प्रदान करता है, इसलिए आपको केवल उस बिट्स को आकर्षित करना होगा जिसमें आप रुचि रखते हैं। उदाहरण के लिए, आप आइटम की पृष्ठभूमि खींच सकते हैं लेकिन इसे सूची दृश्य में खींचने के लिए छोड़ सकते हैं ये पाठ।

1

दो विकल्प हैं, चयनित पंक्तियों को अक्षम रंगों को बदलें। या अन्य सभी पंक्तियों को अनुकरण करने के लिए बदलें जिन्हें वे चयनित हैं को छोड़कर अक्षम कर दिए गए हैं। पहला विकल्प स्पष्ट रूप से सबसे आसान है, और दूसरा विकल्प स्पष्ट रूप से कुछ अतिरिक्त सुरक्षा की आवश्यकता होगी।

मैंने वास्तव में पहले विकल्प पहले किया है और यह काफी अच्छा काम करता है। प्रक्रिया में बाद में दूसरी पंक्ति का चयन होने पर आपको रंगों को डिफ़ॉल्ट पर वापस बदलने के लिए याद रखना होगा।

0

SelectedIndexChanged लागू है और इस

private void listViewABC_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     listViewABC.SelectedItems.Clear(); 
    } 
करना