4

首次加载组合框时,如何防止代码在组合框的 SelectedValueChange 事件中执行?当用户选择一个新值时,我需要执行代码。

4

3 回答 3

10

如果您只想在用户更改组合框时执行某些代码,您可以订阅 SelectionChangeCommitted 而不是 SelectionChanged。当以编程方式更改组合框选择时,不会调用“SelectionChangeCommitted”。

于 2008-12-25T14:12:06.120 回答
3

你有几个选择。

  1. 而不是让设计者连接事件处理程序,您可以在加载后自己做

  2. 您可以在应用程序中为“加载”设置一个标志,并将代码放入 SelectedValueChange 事件中以检查 !loading,然后再继续。

就我个人而言,如果它导致问题,我只会在加载后添加处理程序。

于 2008-11-05T15:49:20.213 回答
0

我更喜欢 SelectedIndexChanged 事件,因为它的行为似乎更好地模拟了底层 Win32 API 的行为,使其可预测。

控件提供的一些更深奥的事件根本无法模拟人们对其名称所期望的行为。

于 2008-12-25T14:49:00.367 回答