關於ComboBox下拉選項過長顯示不全的處理方法
阿新 • • 發佈:2019-02-14
說明:C#中ComboBox控制元件在項過長時,會顯示不全
例如:
執行之後,字型顯示不完整
我們需要重寫ComboBox控制元件
class CustomCombox : ComboBox { protected override void OnDropDown(EventArgs e) { base.OnDropDown(e); AdjustComboBoxDropDownListWidth(); } private void AdjustComboBoxDropDownListWidth() { int vertScrollBarWidth = (this.Items.Count > this.MaxDropDownItems) ? SystemInformation.VerticalScrollBarWidth : 0; int maxWidth = this.DropDownWidth; foreach (var layouts in this.Items) { int measureTextWidth = TextRenderer.MeasureText(layouts.ToString(), this.Font).Width; maxWidth = maxWidth < measureTextWidth ? measureTextWidth : maxWidth; } this.DropDownWidth = maxWidth + vertScrollBarWidth; } }
同樣的資料來源,執行之後