我正在使用Windows窗体应用程序,我有一个名为cmbCountry
的组合框。我将这个组合框绑定到一个包含国家名称的列表。以下是填充组合框的代码。
cmbCountry.DataSource = lstcountry;
接下来,我想将所选项目设为“美利坚合众国”。所以我添加了以下代码
cmbCountry.SelectedItem="United States of America";
我想在这个组合框的选择更改事件上做一些代码。
private void cmbCountry_SelectionChangeCommitted(object sender, EventArgs e)
{
\\some code
}
当我设置所选项目时,假设此方法被调用。但它没有被召集。但是当我从UI部分(设计部分)选择“美利坚合众国”时,此事件被调用。我想在设置所选项目时调用此事件。
答案 0 :(得分:6)
当用户通过UI操作时,SelectionChangeCommitted将触发。
只有在用户更改时才会引发SelectionChangeCommitted 组合框选择。不要使用SelectedIndexChanged或 SelectedValueChanged捕获用户更改,因为这些事件是 当选择以编程方式改变时也会引发。
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectionchangecommitted.aspx
使用SelectedIndexChanged或SelectedValueChanged
答案 1 :(得分:0)
将您的活动更改为SelectedIndexChanged
:
private void cmbCountry_SelectedIndexChanged(object sender, EventArgs e)
{
\\some code
}
并更改事件处理程序(可能会自动生成):
this.cmbCountry.SelectedIndexChanged += new System.EventHandler(this.lstResults_SelectedIndexChanged);