我有一个具有工具combobox控件的工具条,我希望它自动化以适合下拉列表中最宽的项目。我该怎么做? “自动化”属性设置为“ True”,但似乎并没有任何区别。我已经敲打这个问题了一段时间。有可能吗?

有帮助吗?

解决方案

根据这篇MSDN文章 自动化属性概述 只有一些控件支持自动化属性。 Combobox没有自动支持。

其他提示

我有同样的问题。我的解决方案是修改下拉事件的大小。您可以在设置下拉width之前将最大宽度传递到测量线中,也可以夹住最大宽度。

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;
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top