मुझे DataGridView
मिला है जिसमें ComboBox
है जिसमें कुछ सुंदर बड़े तार हो सकते हैं। क्या ड्रॉप डाउन सूची स्वयं को विस्तारित करने या कम से कम वर्डव्रैप स्ट्रिंग करने का कोई तरीका है ताकि उपयोगकर्ता ComboBox
कॉलम चौड़ाई का आकार बदलने के बिना पूरी स्ट्रिंग देख सके?कॉम्बोबॉक्स ड्रॉप डाउन सूची को कैसे सबसे बड़ा आइटम फिट करने के लिए आकार बदलना है?
उत्तर
यहाँ क्या मैं इस को हल करने के लिए किया था है, अच्छा काम करता है ...
public class ImprovedComboBox : ComboBox
{
public ImprovedComboBox()
{
}
public object DataSource
{
get { return base.DataSource; }
set { base.DataSource = value; DetermineDropDownWidth(); }
}
public string DisplayMember
{
get { return base.DisplayMember; }
set { base.DisplayMember = value; DetermineDropDownWidth(); }
}
public string ValueMember
{
get { return base.ValueMember; }
set { base.ValueMember = value; DetermineDropDownWidth(); }
}
private void DetermineDropDownWidth()
{
int widestStringInPixels = 0;
foreach (Object o in Items)
{
string toCheck;
PropertyInfo pinfo;
Type objectType = o.GetType();
if (this.DisplayMember.CompareTo("") == 0)
{
toCheck = o.ToString();
}
else
{
pinfo = objectType.GetProperty(this.DisplayMember);
toCheck = pinfo.GetValue(o, null).ToString();
}
if (TextRenderer.MeasureText(toCheck, this.Font).Width > widestStringInPixels)
widestStringInPixels = TextRenderer.MeasureText(toCheck, this.Font).Width;
}
this.DropDownWidth = widestStringInPixels + 15;
}
}
ऐसा नहीं है कि मुझे पता है, हालांकि कुछ ब्राउज़र बॉक्स के बाहर ड्रॉप डाउन मेनू की चौड़ाई को विस्तारित करने के लिए पर्याप्त स्मार्ट हैं, यदि इसकी आवश्यकता हो। मुझे फ़ायरफ़ॉक्स पता है और क्रोम यह कर सकता है अगर आप अपने उपयोगकर्ता आधार को थोड़ा नियंत्रित करने में सक्षम हैं।
यदि आप वास्तव में एक फ्लैश आधारित कॉम्बो बॉक्स डेटा को एचटीएमएल पर पोस्ट करने के बारे में हताश हैं?
एक Winforms उत्तर के लिए देख रहा था। मुझे प्रश्न में Winforms जोड़ना चाहिए। गलतफहमी के लिए खेद है। –
अधिकांश ब्राउज़र इसे स्वचालित रूप से करते हैं ... – Nyerguds
यह बहुत सुरुचिपूर्ण समाधान है:
private void AdjustWidthComboBox_DropDown(object sender, System.EventArgs e)
{
ComboBox senderComboBox = (ComboBox)sender;
int width = senderComboBox.DropDownWidth;
Graphics g = senderComboBox.CreateGraphics();
Font font = senderComboBox.Font;
int vertScrollBarWidth =
(senderComboBox.Items.Count>senderComboBox.MaxDropDownItems)
?SystemInformation.VerticalScrollBarWidth:0;
int newWidth;
foreach (string s in ((ComboBox)sender).Items)
{
newWidth = (int) g.MeasureString(s, font).Width
+ vertScrollBarWidth;
if (width < newWidth)
{
width = newWidth;
}
}
senderComboBox.DropDownWidth = width;
}
कॉम्बो बॉक्स समायोजित सूची चौड़ाई ड्रॉप डाउन करने के सबसे लंबे समय तक स्ट्रिंग चौड़ाईhttp://www.codeproject.com/KB/combobox/ComboBoxAutoWidth.aspx
- 1. ड्रॉप डाउन सूची आइटम को अचयनित करें
- 2. ड्रॉप डाउन सूची आइटम के फ़ॉन्ट-परिवार को कैसे बदलें?
- 3. कॉम्बोबॉक्स आइटम के प्रारूप को बदलना
- 4. MultAutoCompleteTextView ड्रॉप डाउन सूची को कैसे बदलें
- 5. एक और ड्रॉप डाउन सूची का उपयोग करके ड्रॉप डाउन सूची के विकल्पों को फ़िल्टर करने के लिए कैसे करें
- 6. ड्रॉप-डाउन सूची कैसे बनाएं?
- 7. ComboBox का ड्रॉप-डाउन सूची में आइटम्स के लिए और चयनित आइटम
- 8. jcombobox - ड्रॉप डाउन शीट आकार
- 9. अपनी आइटम सूची दिखाने के लिए एक WPF कॉम्बोबॉक्स को कैसे बल दें?
- 10. स्टाइलिंग शेरलॉक एक्शन बार ड्रॉप डाउन आइटम
- 11. उपयोगकर्ता को ड्रॉप डाउन
- 12. QComboBox ड्रॉप-डाउन सूची - चयनित आइटम शैली सेट करें
- 13. JComboBox ड्रॉप डाउन सूची कैसे है जो JComboBox खुद से
- 14. क्या एक निश्चित आकार div फिट करने के लिए पाठ का आकार बदलना संभव है?
- 15. Slickgrid, ड्रॉप डाउन सूची के साथ कॉलम?
- 16. स्प्रिंग एमवीसी ड्रॉप डाउन सूची - गुण फ़ाइल को पॉप्युलेट करने का सबसे अच्छा तरीका है?
- 17. डिफ़ॉल्ट मूल्य सेट करने के लिए विकेट ड्रॉप डाउन विकल्प
- 18. सूची ड्रॉप करने के लिए वैकल्पिक?
- 19. डाटाबेस ड्रॉप डाउन सूची - प्रारंभिक मान
- 20. स्टाइलिंग डब्ल्यूपीएफ कॉम्बोबॉक्स आइटम
- 21. परिवर्तनीय आकार के मालिक कॉम्बोबॉक्स आकर्षित करते हैं; सूची सही ढंग से आकार नहीं दे रही है
- 22. ड्रॉप डाउन सूची की सीमा को कैसे हटाएं: सीएसएस
- 23. एल्गोरिथ्म एक सरणी में सबसे बड़ा ड्रॉप
- 24. जावा JComboBox ड्रॉप डाउन इवेंट
- 25. ड्रॉप डाउन सूची के साथ Asp.Net MVC, और SelectListItem सहायता
- 26. एंड्रॉइड स्पिनर का उपयोग कैसे करें ड्रॉप-डाउन सूची
- 27. मैं Excel ड्रॉप डाउन सूची में फ़ॉन्ट आकार और रंग कैसे बदलूं?
- 28. एकाधिक आइटम चयन के साथ जावा स्विंग में ड्रॉप-डाउन सूची कैसे बनाएं?
- 29. ड्रॉप डाउन सूची विंडोज फोन 7
- 30. कॉम्बोबॉक्स आइटम रीफ्रेश करें, सबसे आसान तरीका
धन्यवाद। मैंने DropDown ईवेंट में DropDownWidth प्रॉपर्टी को संशोधित करना चुना है। –
संपत्ति छिपाने की बजाय 'डेटासोर्स चेंज', 'ValueMemberChanged' और' DisplayMemberChanged' ईवेंट के लिए सब्सक्राइब करना बेहतर विचार हो सकता है। –
चूंकि यह एक वर्ग ओवरराइड है, इसलिए सबसे अच्छा तरीका है 'बेसडऑनडाउन' (')' निष्पादित करने से पहले कॉल को जोड़ने के लिए 'ऑनड्रॉपडाउन' के लिए ओवरराइड जोड़ना। और बीटीडब्ल्यू, उस अंतिम 'if>' चेक के लिए, उस गणना को दो बार गणना करने के बजाय उस चर को एक चर में संग्रहीत करें। – Nyerguds