Как отключить первую опцию в ComboBox? - PullRequest
0 голосов
/ 27 октября 2018

Я сделал combobox со свойством DropDownStyle для DropDownList, и я пытаюсь отключить первый вариант раскрывающегося списка (только для чтения), так как это должно быть что-то вроде «выбрать вариант».

Как я могу это сделать?Эквивалентный код в HTML должен выглядеть примерно так:

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

Этот является просто демонстрацией в html того, чего я на самом деле хочу достичь в c #.

enter image description here enter image description here

Кстати, я использую Visual C # Windows Forms App (.NET Framework)

1 Ответ

0 голосов
/ 27 октября 2018

Как насчет этого:

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;
}

Вам необходимо установить для свойства DrawMode comboBox значение OwnerDrawFixed.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...