选择了Combobox dropDown

问题描述 投票:1回答:1

我有一个ComboBox也可以通过两个按钮控制。但我想将执行与使用ComboBox下拉列表和按钮分开。

comboBox3.DropDownClosed += (b, f) =>
{
    week = Convert.ToInt16(comboBox3.Text);
    Console.WriteLine(week);
};

我尝试了这种方法,但似乎没有更新下拉菜单关闭并选择其他值的一周。

c# windows winforms
1个回答
1
投票

如果您想在用户更改ComboBox的选定索引时执行某些操作,则需要处理SelectionChangeCommitted事件(而不是SelectedIndexChanged):

仅当用户更改组合框选择时才会引发SelectionChangeCommitted事件,并且您可以为此事件创建处理程序,以便在用户更改列表中的选定项时为ComboBox提供特殊处理。

另一方面,只要用户或代码更改所选索引,SelectedIndexChanged就会提升。

所以,不应该处理SelectedIndexChanged,你应该编写不同的方法来做不同的事情,例如,处理Button1.Click并调用Action1,处理Button2.Click并调用Action2并处理ComboBox.SelectionChangeCommitted以检测用户何时更改所选索引并调用Action3

© www.soinside.com 2019 - 2024. All rights reserved.