Проблема в настройке combobox.dropdownwidth для максимальной ширины в datagridviewcombobox - PullRequest
0 голосов
/ 17 октября 2018

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

            int width = comboBox.DropDownWidth;
            Graphics g = comboBox.CreateGraphics();
            Font font = comboBox.Font;
            int vertScrollBarWidth =
                (comboBox.Items.Count > comboBox.MaxDropDownItems)
                ? SystemInformation.VerticalScrollBarWidth : 0;

            int newWidth;
            foreach (string s in ((ComboBox)sender).Items)
            {
                newWidth = (int)g.MeasureString(s, font).Width
                    + vertScrollBarWidth;
                if (width < newWidth)
                {
                    width = newWidth;
                }
            }
            comboBox.DropDownWidth = width;

Но это не работает.Я не думаю, что есть какие-либо проблемы с кодом, но ширина не изменилась.Нужно ли менять какое-либо свойство datagridview для изменения ширины?

...