如何禁用ComboBox中的第一个选项?

时间:2018-10-27 07:36:56

标签: c# .net winforms combobox

我将combobox属性的DropDownStyle设置为DropDownList,并且我试图禁用下拉菜单的第一个选项(只读),因为这应该类似于“选择一个选项”。

我该怎么办? HTML中的等效代码应如下所示:

<option selected disabled>Select an option</option>

This只是我实际上想在C#中实现的html演示。

enter image description here enter image description here

通过我使用 Visual C#Windows Forms应用(.NET Framework)

的方式

1 个答案:

答案 0 :(得分:3)

那呢:

private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
    var yourFont = new Font("Microsoft Sans Serif", 9, FontStyle.Regular);

    if (e.Index == 0)
    {
        e.Graphics.DrawString(comboBox1.Items[e.Index].ToString(), yourFont, Brushes.LightGray, e.Bounds);
    }
    else
    {
        e.DrawBackground();
        e.Graphics.DrawString(comboBox1.Items[e.Index].ToString(), yourFont, Brushes.Black, e.Bounds);
        e.DrawFocusRectangle();
    }
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (comboBox1.SelectedIndex == 0)
        comboBox1.SelectedIndex = -1;
}

您还需要将comboBox的{​​{3}}属性设置为DrawMode