Как отключить элемент в combbox во всплывающем окне - PullRequest
1 голос
/ 05 апреля 2019

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

1 Ответ

1 голос
/ 05 апреля 2019

Шаг 1. Установите для свойства DrawMode ComboBox значение OwnerDrawFixed

Шаг 2. Измените цвет элемента, используя значение индекса

 Font fontValue = new Font("calibri", 12, FontStyle.Regular);

 //Form Load
 private void form_Load(object sender, EventArgs e)
 {
    List<string> lstCombxValue = new List<string>();
    lstCombxValue.Add("Item A1");
    //Item to Disable
    lstCombxValue.Add("Item A2");
    lstCombxValue.Add("Item A3");
    lstCombxValue.Add("Item A4");
    lstCombxValue.Add("Item A5");
    lstCombxValue.Add("Item A6");

    comboBox1.DataSource = lstCombxValue;
 }

 private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
 {
     //Check the Condition get the Item Index Value to Disable 
     //and follow this step to disable the item
     if (e.Index == 1)
     {
         e.Graphics.DrawString(comboBox1.Items[e.Index].ToString(), fontValue, Brushes.Gray, e.Bounds);
     }
     else
     {
         e.DrawBackground();
         e.Graphics.DrawString(comboBox1.Items[e.Index].ToString(), fontValue, Brushes.Black, e.Bounds);
         e.DrawFocusRectangle();
     }
 }

Sample Image

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