转:控制ComboBox下拉框的下拉部分宽度,使内容能够显示完全

一般的情况下,如果下拉框的选项的文字太长,下拉框ComboBox的Width宽度属性我们又不想要改变(默认不变),下拉选项的文字内容就会被截剪,如下图所示:

转:控制ComboBox下拉框的下拉部分宽度,使内容能够显示完全

解决办法:

1、自动判断下拉选项的文字长度。

2、根据文字长度来设置下拉框的下拉部门的宽度DropDownWidth。

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); //comboBox1.Items.Add("China_我是中国人民*_China");
//comboBox1.Items.Add("我是人民");
var p = new { Name = "China_我是中国人民*_China" };
var p2 = new { Name = "我是人民" };
List<object> list = new List<object>();
list.Add(p);
list.Add(p2);
comboBox1.DisplayMember = "Name";
comboBox1.DataSource = list; // 测量出最大的字符大小
int maxSize = ;
System.Drawing.Graphics g = CreateGraphics();
for (int i = ; i < comboBox1.Items.Count; i++)
{
comboBox1.SelectedIndex = i;
SizeF size = g.MeasureString(comboBox1.Text, comboBox1.Font);
if (maxSize < (int)size.Width)
{
maxSize = (int)size.Width;
}
}
comboBox1.DropDownWidth = comboBox1.Width;
if (comboBox1.DropDownWidth < maxSize)
{
comboBox1.DropDownWidth = maxSize;
//comboBox1.Width = maxSize;
}
comboBox1.SelectedIndex = ;
}
}
}

转:控制ComboBox下拉框的下拉部分宽度,使内容能够显示完全

上一篇:导出excel表格,前端和后台导出


下一篇:Linux-安装python3环境