मैं ListBox
में कुछ पंक्तियों के पृष्ठभूमि रंग को बदलने की कोशिश कर रहा हूं। मेरे पास दो सूचियां हैं जिनके नाम हैं और ListBox
में प्रदर्शित होते हैं। दूसरी सूची में कुछ समान मान हैं जैसे पहले List
। एक बटन पर क्लिक करते समय, मैं और दूसरा List
खोजना चाहता हूं, और में दिखाई देने वाले मानों के लिए ListBox
का रंग बदलना चाहता हूं।सी #: बदलती सूची बॉक्स पंक्ति रंग?
for (int i = 0; i < listBox1.Items.Count; i++)
{
for (int j = 0; j < students.Count; j++)
{
if (listBox1.Items[i].ToString().Contains(students[j].ToString()))
{
}
}
}
लेकिन मैं जो विधि के लिए एक ListBox
पंक्ति के स्वरूप बदलने के लिए में उपयोग करने के लिए पता नहीं है: ListBox
में मेरे खोज इस प्रकार है। कोई भी मेरी मदद कर सकता हैं?
** संपादित करें:
private void ListBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
Graphics g = e.Graphics;
Brush myBrush = Brushes.Black;
Brush myBrush2 = Brushes.Red;
g.FillRectangle(new SolidBrush(Color.Silver), e.Bounds);
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, myBrush, e.Bounds, StringFormat.GenericDefault);
for (int i = 0; i < listBox1.Items.Count; i++)
{
for (int j = 0; j < existingStudents.Count; j++)
{
if (listBox1.Items[i].ToString().Contains(existingStudents[j]))
{
e.Graphics.DrawString(listBox1.Items[i].ToString(),
e.Font, myBrush2, e.Bounds, StringFormat.GenericDefault);
}
}
}
e.DrawFocusRectangle();
}
अब यह मेरी ListBox
में List
खींचता है, लेकिन जब मैं बटन पहले क्लिक करें, यह लाल रंग में दिखाया गया है: **
HI मैं अपने कोड इस प्रकार लिखा था केवल List
में छात्र हैं और जब मैं ListBox
पर क्लिक करता हूं तो यह सभी तत्वों को खींचता है। मैं चाहता हूं कि यह सभी तत्व दिखाएगा, और जब मैं बटन पर क्लिक करता हूं तो यह सभी तत्वों और तत्व को List
में लाल रंग में दिखाएगा। मेरी गलती कहां है?
यह अपने आप को ड्रा OwnerDraw का उपयोग कर: http://www.c-sharpcorner.com/UploadFile/sahuja/OwnerDrawListBox11212005014826AM/OwnerDrawListBox.aspx –
http://stackoverflow.com/questions/1243870/changing- के संभावित डुप्लिकेट चयनित-itms-color-in-a-listbox –
आपके अपडेट के बाद: जाहिर है कि आप नीचे दिए गए पिछले उत्तरदाताओं को नहीं दिखा रहे हैं। DrawItem विधि _ एक आइटम_ हटाता है, एकाधिक आइटम नहीं। आपको आवश्यक आइटम के रूप में _Each आइटम को संभालने की आवश्यकता होगी, और ** ** ** _all_ आइटम्स को संसाधित करने के लिए लूप के लिए उपयोग नहीं करें। अच्छे उदाहरणों के लिए थॉमस लेवेस्क या जस्टिन के जवाब पर एक नज़र डालें। –