Вопрос

У меня на панели инструментов с помощью настроек инструментов для управления на нем, и я хотел бы, чтобы он был автоматизирован, чтобы соответствовать самым широким элементе в раскрывающемся списке. Как я могу сделать это? Свойство «AutoSize» устанавливается на «True», но, похоже, не имеет никакого значения. Я бросил голову на это некоторое время. Это даже возможно?

Это было полезно?

Решение

Согласно этой статье MSDN Автосазовый обзор недвижимости Только некоторые из элементов управления поддерживают свойство AutoSize. Combobox не имеет автосазовой поддержки.

Другие советы

У меня такая же проблема. Мое решение было изменению размера на раскрывающемся событии. Вы можете пройти максимальную ширину в измерении или зажимать максимум самим собой, прежде чем установить DropDownWidth.

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