在datagridview.combobox中将combobox.dropdownwidth设置为最大宽度的问题

时间:2018-10-17 04:42:07

标签: c# winforms datagridviewcombobox

我有一个datagridview组合框列。我需要动态地将组合框的宽度调整为最长的字符串宽度,以便用户可以读取组合框项中的长字符串。 我的代码是

            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的任何属性才能更改宽度?

0 个答案:

没有答案