C# Windows Form Combobox按最长数据确定下拉框宽度

2011年5月16日 | 分类: 开发 | 标签: , , , ,

C#,Windows From,VS 2010中使用Combobox,因为其下拉列表中的数据是动态显示的,有长有短,默认长数据会被截断,所以想它的下拉框按需要来定义宽度,以使数据显示完整,示例如下:

可在一个方法中写如下代码:

int dWidth = comboBox1.Width, cTemp = 0;
Graphics g = comboBox1.CreateGraphics();
for (int i = 0; i < comboBox1.Items.Count; i++)
{
cTemp = (int)g.MeasureString(comboBox1.Items[i].ToString(), comboBox1.Font).Width;
if (cTemp > cWidth)
cWidth = cTemp;
}
comboBox1.DropDownWidth = cWidth;

Written by Nile Jiang
无猖狂以自彰,当阴沉以自深。

目前还没有任何评论.
注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。