组合框选定的索引更改事件未在代码中触发
本文关键字:代码 事件 索引 组合 | 更新日期: 2023-09-27 18:35:20
我正在开发一个Windows窗体应用程序,我有一个名为cmbCountry
的组合框。我将此组合框绑定到包含国家名称的列表。以下是填充组合框的代码。
cmbCountry.DataSource = lstcountry;
接下来,我想将所选项目设置为"美利坚合众国"。 所以我添加了以下代码
cmbCountry.SelectedItem="United States of America";
我想在这个组合框的选择更改事件上做一些代码。
private void cmbCountry_SelectionChangeCommitted(object sender, EventArgs e)
{
''some code
}
此方法假定在我设置所选项目时调用。但它没有被召唤。但是,当我从UI部分(设计部分)中选择"美利坚合众国"时,此事件被调用。我想在设置所选项目时调用此事件。
SelectionChangeCommit 在用户通过 UI 进行操作时触发。
仅当用户更改 组合框选择。不要使用 SelectedIndexChanged 或 SelectedValueChanged 以捕获用户更改,因为这些事件是 当以编程方式更改选择时也会引发。
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectionchangecommitted.aspx
使用"已更改"或"选定值已更改
将事件更改为SelectedIndexChanged
:
private void cmbCountry_SelectedIndexChanged(object sender, EventArgs e)
{
''some code
}
并更改事件处理程序(可能会自动生成):
this.cmbCountry.SelectedIndexChanged += new System.EventHandler(this.lstResults_SelectedIndexChanged);