dotNet 环境中ComboBox下拉框自动适应宽度函数
来源:互联网 发布:上帝之眼网络ip摄像头 编辑:程序博客网 时间:2024/04/29 15:35
最近在调用ComboBox的时候,将ComboBox设置为DropDownList,当下面的文字内容过长的时候经常不能显示完整,非常难看,写了一个函数来自动修改DorpDownWidth属性,来适应文字宽度。
在ComboBox的DropDown事件中调用这个函数就可以了。
我将它写入到一个UIhelper类中,调用。
C#实现代码:
#region AutoSizeComboBoxItem /// <summary> /// 自动改变CombBox控件下拉框的宽度, /// ComboBox控件的DropDown事件中调用本方法。 /// </summary> /// <param name="sender"> ComboBox对象</param> public void AutoSizeComboBoxItem(object sender) { if (sender is ComboBox) { Graphics grap = Graphics.FromHwnd((sender as ComboBox).Handle); StringFormat sf = new StringFormat(StringFormat.GenericTypographic); SizeF size; int i = 0; int extraWidth = 4;//额外宽度 if ((sender as ComboBox).MaxDropDownItems < (sender as ComboBox).Items.Count) { //可以采用下面三行代码自动获取系统设置的垂直滚动条宽度,单个人觉得过犹不及。 comment by Dominic //VScrollBar vScrollBar = new VScrollBar(); //extraWidth += vScrollBar.Width; //取系统垂直滚动条宽度。 //vScrollBar.Dispose(); extraWidth += 18; //预留18px的滚动条条宽度。 } while (i < (sender as ComboBox).Items.Count) { size = grap.MeasureString((sender as ComboBox).Items[i].ToString(), (sender as ComboBox).Font, 500, sf); if (size.Width > (sender as ComboBox).DropDownWidth - extraWidth) { (sender as ComboBox).DropDownWidth = System.Convert.ToInt32(size.Width) + extraWidth; } i++; } grap.Dispose(); sf.Dispose(); } } #endregion //AutoSizeComboBoxItem }
在ComboBox的DropDown事件中调用这个函数就可以了。
我将它写入到一个UIhelper类中,调用。
- dotNet 环境中ComboBox下拉框自动适应宽度函数
- ComboBox 自动调整组合框下拉部分的宽度
- delphi自动调整combobox下拉列表宽度
- delphi自动调整combobox下拉列表宽度
- dategrid列宽度自动适应函数
- android中自动适应宽度的TextView
- ExtJs combobox下拉框宽度设置
- UILabel 自动适应宽度
- 自动适应屏幕宽度
- Ext combobox下拉框宽度不匹配控件宽度解决
- 设置COMBOBOX下拉宽度和高度函数举例
- 数据网格自动适应宽度
- IFRAME自动适应网页宽度
- android 自动适应宽度TextView
- 网页宽度自动适应手机屏幕宽度
- 如何让组合框的宽度自动适应
- 在WEB页面中根据分辨率自动调整内容宽度,以适应表格宽度
- 设置ComboBox下拉菜单的宽度
- 有关使用map的错误
- windows原始套接字接受
- TrueCrypt原理与系统开发(1):TrueCrypt Format创建加密卷
- 底层之旅——DM9000网卡驱动源码分析
- 黑马程序员 07 Java基础教学 - 07 - 面向对象(3) 之 继承、抽象、接口
- dotNet 环境中ComboBox下拉框自动适应宽度函数
- C++构造函数与析构函数总结
- 转-static_cast、dynamic_cast reinterpret_cast和const_cast
- Date,DateFormat,Calendar类用法
- 关于字符编码,你所需要知道的
- CSS的优先级
- PeekMessage()与GetMessage()
- Spring applicationContext.xml配置详解
- 我的Android进阶之旅------>Android之拖动条(SeekBar和RatingBar)的功能和用法