Работа с ComboBox в WF

432
09 января 2017, 19:51

Доброе время суток. Имеется ComboBox с выпадающими элементами. Каким образом я могу отключить какой-либо элемент? (то есть , чтобы он показывался в списке, а выбрать его было нельзя, удалять элемент не нужно).

Answer 1

В свойствах ComboBox установите DrawMode к OwnerDrawFixed, после эти два события:

Font  myFont = new Font("Tahoma", 10, FontStyle.Regular);
private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{        
    if (e.Index == 1)//Отключение элемента на основе индекса
    {
        e.Graphics.DrawString(comboBox1.Items[e.Index].ToString(), myFont, Brushes.LightGray, e.Bounds);
    }
    else
    {
        e.DrawBackground();
        e.Graphics.DrawString(comboBox1.Items[e.Index].ToString(), myFont, Brushes.Black, e.Bounds);
        e.DrawFocusRectangle();
    }
} 
 void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        //если выбранный индекс=1 нельзя выбирать
        if (comboBox1.SelectedIndex == 1)
            comboBox1.SelectedIndex = -1;
    }
READ ALSO
выбор в Combobox c# согласно запросу

выбор в Combobox c# согласно запросу

Добрый день, проблема у меня возникла таковаЕсть combobox в нее подгружаются данные из dataset,

417
Как узнать путь к проекту в Visual Studio?

Как узнать путь к проекту в Visual Studio?

Пишу программу которая копирует файлы в разные папкиПапка, из которой я копирую файлы должна создаться и лежать в папке проекта (скрин)

755
String^ из файла с переносом строк

String^ из файла с переносом строк

Если написать MessageBox::Show("Строка1\nСтрока2"); То на выходе получаем сообщение с двумя строками

425
C# работа с Excel

C# работа с Excel

C# работа с Excel

1122