gil*_*nba 2 .net winforms toolstripcombobox
我有一个带有ToolStripComboBox控件的ToolStrip,我希望它能自动调整以适应下拉列表中最宽的项目.我怎么能做到这一点?"自动调整大小"属性设置为"true",但似乎没有任何区别.我一直在敲打这个问题.它甚至可能吗?
我有同样的问题.我的解决方案是修改DropDown事件的大小.您可以在MeasureString中传递最大宽度,或在设置DropDownWidth之前自己钳制maxWidth.
private void m_comboBox_DropDown(object sender, EventArgs e)
{
using (System.Drawing.Graphics graphics = CreateGraphics())
{
int maxWidth = 0;
foreach (object obj in m_comboBox.Items)
{
System.Drawing.SizeF area = graphics.MeasureString(obj.ToString(), m_comboBox.Font);
maxWidth = Math.Max((int)area.Width, maxWidth);
}
m_comboBox.DropDownWidth = maxWidth;
}
}
Run Code Online (Sandbox Code Playgroud)