Skip to content

Commit f848f0c

Browse files
authored
Merge pull request #1123 from syncfusion-content/Prepare-UG-document-for-the-events-fired-hotfix
WF-875216 : Prepare UG document for the events fired when selecting/unselecting Tokens in SfComboBox control
2 parents 720c7cc + d693e45 commit f848f0c

2 files changed

Lines changed: 131 additions & 0 deletions

File tree

WindowsForms/ComboBox/Token.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,134 @@ sfComboBox1.Style.TokenStyle.Font = New Font(“Arial”, 10F, FontStyle.Bold)
6262
* Using the <kbd>Down Arrow</kbd>, <kbd>Up Arrow</kbd>, and <kbd>Enter</kbd> keys, item can be selected from the combobox.
6363
* Using the <kbd>Backspace</kbd> key, the last positioned token will be removed from the text area.
6464
* When the <kbd>Esc</kbd> key is pressed, the drop-down area will be closed if it has been opened already.
65+
66+
## Events Fired When Selecting and Deselecting Tokens
67+
68+
The [SelectedValueChanged](https://help.syncfusion.com/cr/windowsforms/Syncfusion.WinForms.ListView.SfComboBox.html#Syncfusion_WinForms_ListView_SfComboBox_SelectedValueChanged) event is triggered whenever tokens are selected or deselected in the SfComboBox control. This allows users to handle changes in token selections effectively.
69+
70+
{% tabs %}
71+
{% highlight c# %}
72+
73+
private List<object> _previousSelectedTokens;
74+
private Label label;
75+
76+
SfComboBox sfComboBox1 = new SfComboBox
77+
{
78+
EnableToken = true,
79+
DisplayMember = "Name",
80+
ValueMember = "Id",
81+
Size = new Size(300, 30),
82+
DataSource = new List<dynamic>
83+
{
84+
new { Id = 1, Name = "Item1" },
85+
new { Id = 2, Name = "Item2" },
86+
new { Id = 3, Name = "Item3" }
87+
}
88+
};
89+
90+
sfComboBox1.Style.TokenStyle.Font = new Font("Arial", 9.75F, FontStyle.Regular, GraphicsUnit.Point);
91+
92+
// Initialize Label
93+
label = new Label
94+
{
95+
Width = 200,
96+
Location = new Point(10, 110)
97+
};
98+
99+
// Initialize selected items and previous tokens
100+
sfComboBox1.SelectedItems.Add(sfComboBox1.DropDownListView.View.DisplayItems[0]);
101+
_previousSelectedTokens = sfComboBox1.SelectedItems.Cast<dynamic>().ToList();
102+
103+
sfComboBox1.SelectedValueChanged += SfComboBox1_SelectedValueChanged;
104+
105+
this.Controls.Add(sfComboBox1);
106+
this.Controls.Add(label);
107+
108+
private void TokenComboBox_SelectedValueChanged(object sender, EventArgs e)
109+
{
110+
var comboBox = sender as SfComboBox;
111+
112+
// Get current and previous tokens
113+
var currentSelectedTokens = comboBox.SelectedItems.Cast<dynamic>().ToList();
114+
var addedTokens = currentSelectedTokens.Except(_previousSelectedTokens).ToList();
115+
var removedTokens = _previousSelectedTokens.Except(currentSelectedTokens).ToList();
116+
117+
// Update previous tokens
118+
_previousSelectedTokens = currentSelectedTokens;
119+
120+
// Handle added tokens
121+
foreach (var token in addedTokens)
122+
{
123+
label.Text = $"Token Added: {token.Name}";
124+
}
125+
126+
// Handle removed tokens
127+
foreach (var token in removedTokens)
128+
{
129+
label.Text = $"Token Removed: {token.Name}";
130+
}
131+
}
132+
133+
{% endhighlight %}
134+
{% highlight vb %}
135+
136+
Private _previousSelectedTokens As List(Of Object)
137+
Private label As Label
138+
139+
' Initialize SfComboBox
140+
Dim sfComboBox1 As New SfComboBox With {
141+
.EnableToken = True,
142+
.DisplayMember = "Name",
143+
.ValueMember = "Id",
144+
.Size = New Size(300, 30),
145+
.DataSource = New List(Of Object) From {
146+
New With {.Id = 1, .Name = "Item1"},
147+
New With {.Id = 2, .Name = "Item2"},
148+
New With {.Id = 3, .Name = "Item3"}
149+
}
150+
}
151+
152+
sfComboBox1.Style.TokenStyle.Font = New Font("Arial", 9.75F, FontStyle.Regular, GraphicsUnit.Point)
153+
154+
' Initialize Label
155+
label = New Label With {
156+
.Width = 200,
157+
.Location = New Point(10, 110)
158+
}
159+
160+
' Initialize selected items and previous tokens
161+
sfComboBox1.SelectedItems.Add(sfComboBox1.DropDownListView.View.DisplayItems(0))
162+
_previousSelectedTokens = sfComboBox1.SelectedItems.Cast(Of Object)().ToList()
163+
164+
AddHandler sfComboBox1.SelectedValueChanged, AddressOf TokenComboBox_SelectedValueChanged
165+
166+
Me.Controls.Add(sfComboBox1)
167+
Me.Controls.Add(label)
168+
169+
170+
Private Sub TokenComboBox_SelectedValueChanged(sender As Object, e As EventArgs)
171+
Dim comboBox = TryCast(sender, SfComboBox)
172+
173+
' Get current and previous tokens
174+
Dim currentSelectedTokens = comboBox.SelectedItems.Cast(Of Object)().ToList()
175+
Dim addedTokens = currentSelectedTokens.Except(_previousSelectedTokens).ToList()
176+
Dim removedTokens = _previousSelectedTokens.Except(currentSelectedTokens).ToList()
177+
178+
' Update previous tokens
179+
_previousSelectedTokens = currentSelectedTokens
180+
181+
' Handle added tokens
182+
For Each token In addedTokens
183+
label.Text = $"Token Added: {token.Name}"
184+
Next
185+
186+
' Handle removed tokens
187+
For Each token In removedTokens
188+
label.Text = $"Token Removed: {token.Name}"
189+
Next
190+
End Sub
191+
192+
{% endhighlight %}
193+
{% endtabs %}
194+
195+
![Event Triggered on Token Selection or Deselection](Token_images/Token_Event.gif)
128 KB
Loading

0 commit comments

Comments
 (0)