Skip to content

Commit 944e83c

Browse files
authored
Merge pull request #4 from SyncfusionExamples/WF-64663-ComboBoxDropDown
WF-64663-Changed ReadMe file
2 parents ffce10c + 5d1d76a commit 944e83c

File tree

2 files changed

+71
-2
lines changed

2 files changed

+71
-2
lines changed

README.md

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,71 @@
1-
# how-to-disable-some-items-winforms-combobox-dropdown
2-
This sample shows how to disable some items winforms combobox dropdown.
1+
# How to Disable Items in WinForms ComboBox Dropdown
2+
## Overview
3+
This example demonstrates how to disable specific items in a WinForms ComboBox dropdown using Syncfusion's SfComboBox control. This is useful when you want to prevent users from selecting certain items based on business logic or application state.
4+
5+
## Changing ForeColor for Disabled Items
6+
You can visually indicate disabled items by customizing their appearance using the DrawItem event of DropDownListView.
7+
### C# Example
8+
```C#
9+
sfComboBox.DropDownListView.DrawItem += DropDownListView_DrawItem;
10+
11+
private void DropDownListView_DrawItem(object sender, Syncfusion.WinForms.ListView.Events.DrawItemEventArgs e)
12+
{
13+
bool isItemEnable = (sfComboBox.ComboBoxMode == ComboBoxMode.MultiSelection &&
14+
sfComboBox.AllowSelectAll &&
15+
e.ItemIndex == 0)
16+
? true
17+
: (e.ItemData as Details).IsEnabled;
18+
19+
if (!isItemEnable)
20+
{
21+
e.Style.BackColor = Color.LightGray;
22+
e.Style.ForeColor = Color.Gray;
23+
}
24+
}
25+
```
26+
27+
## Handling Selection for Disabled Items
28+
Selection logic differs based on whether the ComboBox is in multi-selection or single-selection mode.
29+
### Multi-Selection Mode:
30+
```C#
31+
private void DropDownListView_SelectionChanged(object sender, ItemSelectionChangedEventArgs e)
32+
{
33+
if (e.AddedItems.Count == sfComboBox.DropDownListView.View.Items.Count)
34+
{
35+
for (int i = 0; i < sfComboBox.DropDownListView.CheckedItems.Count; i++)
36+
{
37+
if (!(sfComboBox.DropDownListView.CheckedItems[i] as Details).IsEnabled)
38+
sfComboBox.DropDownListView.CheckedItems.RemoveAt(i);
39+
}
40+
}
41+
}
42+
43+
private void DropDownListView_ItemChecking(object sender, ItemCheckingEventArgs e)
44+
{
45+
bool isItemEnable = (sfComboBox.ComboBoxMode == ComboBoxMode.MultiSelection &&
46+
sfComboBox.AllowSelectAll &&
47+
e.ItemIndex == 0)
48+
? true
49+
: (e.ItemData as Details).IsEnabled;
50+
51+
if (!isItemEnable)
52+
e.Cancel = true;
53+
}
54+
```
55+
### Single-Selection Mode
56+
```C#
57+
private void DropDownListView_SelectionChanging(object sender, ItemSelectionChangingEventArgs e)
58+
{
59+
if (e.AddedItems.Count > 0 &&
60+
!(e.AddedItems[0] as Details).IsEnabled &&
61+
e.AddedItems.Count != sfComboBox.DropDownListView.View.Items.Count)
62+
{
63+
e.Cancel = true;
64+
}
65+
}
66+
```
67+
## Reference
68+
For detailed guidance and step-by-step instructions, refer to the official Syncfusion Knowledge Base article: https://www.syncfusion.com/kb/11254/how-to-disable-some-items-winforms-combobox-dropdown
69+
70+
## Screenshot
71+
![Disable items in ComboBox](SfComboBox/SfComboBox/ComboBox%20Images/Disable%20some%20items%20in%20ComboBox.png)
14.4 KB
Loading

0 commit comments

Comments
 (0)