组合框选定的索引更改事件未在代码中触发

本文关键字:代码 事件 索引 组合 | 更新日期: 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);