Is there any way to disable specific item inside combobox based on condition. which need to display on click of combobox ie on popup show
Step 1. Set the property DrawMode
of the ComboBox
to OwnerDrawFixed
Step 2. Change the Item color using Index value
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();
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.