2009-06-23 9 views
8

जैसा कि this question में वर्णित है, यह डेटाग्रिड व्यू (WinForm नहीं WPF) में पंक्ति के लिए न्यूनतम पंक्ति ऊंचाई 17 है, यदि आप DataGridViewCheckBoxCell में चेक बॉक्स प्रदर्शित करना चाहते हैं। कोई छोटा और चेक बॉक्स बस गायब हो जाता है!क्या डेटाग्रिड व्यू चेकबॉक्स सेल को छोटा करने का कोई तरीका है?

क्या डेटाग्रिड व्यू सेल में एक छोटा चेकबॉक्स रखने का कोई तरीका है?

+1

आपको नियंत्रण को फिर से निकालना होगा, मुझे लगता है कि कोई दूसरा रास्ता नहीं है – V4Vendetta

उत्तर

3

यदि आप अब .NET 4.0 का उपयोग कर रहे हैं, तो आप न्यूनतम ऊंचाई समायोजित करने के लिए DataGridView.RowTemplate का उपयोग कर सकते हैं।

उदाहरण के लिए,

DataGridViewRow row = this.dataGridView1.RowTemplate; 
row.DefaultCellStyle.BackColor = Color.Bisque; 
row.Height = 35; 
row.MinimumHeight = 20; 

लेकिन, जैसा कि चेक बॉक्स के साथ एक पंक्ति के लिए this MSDN answer न्यूनतम ऊंचाई इसका सबूत 17 पिक्सल है। ऐसा नहीं लगता है कि इस समस्या के आसपास कोई रास्ता है।

4

वास्तव में, आपको स्वयं नियंत्रण को आकर्षित करना होगा। प्लस साइड पर ... नियंत्रण को खींचना वास्तव में कठिन नहीं है। This अपना खुद का चेकबॉक्स खींचने का एक सभ्य उदाहरण है (हम अपने कोड में कुछ ऐसा ही उपयोग कर रहे हैं)।

बस, इसे अक्षम करने के लिए इसे ओवरराइड करने के बजाय, आप बॉक्स को छोटा बनाने के लिए इसे ओवरराइड करना चाहते हैं ... मुझे आकार के साथ CheckBoxRenderer.DrawCheckBox को कॉल करने का कोई तरीका नहीं दिख रहा है, लेकिन कुछ भी नहीं होना चाहिए आपको अपने ग्राफिक्स ऑब्जेक्ट में ड्राइंग से रोकना, इसे स्वयं कम करना, फिर उस छवि को चित्रित करना जिसे आप अभी संकुचित करते हैं।

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