首先,让我们理解一下问题。您希望修改ComboBox的SelectedIndex,但不想在C#中触发事件。您希望找到一个方法来避免在修改SelectedIndex时触发事件。
对于这个问题,有一个简单的解决方案,即使用ComboBox的SelectionChangeCommitted事件。这个事件会在选择组合框中的项时触发,而不是在修改项时触发。因此,您可以使用以下代码来避免在修改SelectedIndex时触发事件:
comboBox1.SelectionChangeCommitted -= new EventHandler(comboBox1_SelectionChangeCommitted);
comboBox1.SelectedIndex = 1;
comboBox1.SelectionChangeCommitted += new EventHandler(comboBox1_SelectionChangeCommitted);
上述代码删除了对comboBox1_SelectionChangeCommitted事件的引用,并在修改SelectedIndex之前和之后添加了新的引用。
这是一个简单而有效的方法来避免在修改SelectedIndex时触发事件,但请注意,这不会阻止其他事件,例如comboBox1_DropDown和comboBox1_DropDownClosed事件,这些事件也可能在您尝试修改SelectedIndex时触发。
领取专属 10元无门槛券
手把手带您无忧上云