मुझे प्रोग्रामिंग की आवश्यकता है सेलफॉर्मेटिंग ईवेंट में कुछ कक्षों के सीमा रंग को बदलने के लिए। क्या एक व्यक्तिगत सेल का बोर्ड रंग बदला जा सकता है?DataGridView में कुछ कक्षों के सीमा रंग को कैसे बदलें?
5
A
उत्तर
-3
व्यक्तिगत सेल सीमा शैली को बदलने का कोई तरीका नहीं है जब तक कोई व्युत्पन्न डेटा ग्रिड व्यू नहीं बनाया जाता है।
9
आप एक आयताकार खींच सकते हैं। इस उदाहरण में मैंने चयनित कोशिकाओं पर एक लाल बोडर लगाया। DataGridViewAdvancedBorderStyle Class
चित्रकला विधि ऊपर सरल है, हालांकि यह है:
private void dataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected == true)
{
e.Paint(e.CellBounds, DataGridViewPaintParts.All & ~DataGridViewPaintParts.Border);
using (Pen p = new Pen(Color.Red, 1))
{
Rectangle rect = e.CellBounds;
rect.Width -= 2;
rect.Height -= 2;
e.Graphics.DrawRectangle(p, rect);
}
e.Handled = true;
}
}
}
0
MSDN एक विधि जहां DataGridView से विरासत कर सकते हैं डिफ़ॉल्ट सीमा शैलियों को ओवरराइड करने का वर्णन है।
सत्य नहीं है, यह एक कस्टम DataGridView के साथ किया जा सकता है। माइक्रोसॉफ्ट साइट पर एक है: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewadvancedborderstyle.aspx –
यह गलत है, आप बस कोशिकाओं की पेंट विधि को ओवरराइड कर सकते हैं – Edmondo1984