ComboBox在看似随机的情况下恢复为索引0

时间:2016-09-07 04:03:13

标签: c# winforms combobox

我有一个array ComboBoxes,每个DataSource都有自己的ComboBox,这个Panels在开头设置,不会再被搞砸了。每个Form都选择了一些索引(不是0)。

现在,我在Panel上绘制了ComboBox网格。每个ComboBox都与其自己的Form相关联。根据设定规则,可以在mouseClick上绘制ComboBox。以下是规则:

ComboBox已连接 - mouseEnter被指定为已选中 - mouseEnter。它已经在ComboBox事件中绘制。

选中ComboBox - mouseLeave将替换为已连接的ComboBox

ComboBox上已连接 - ComboBox已替换为已选中 - Panels

基本上,它会显示上次选择的ComboBoxes或您当前悬停的那个。

当我启动程序并开始将鼠标悬停在index上方时,显示了不同的selectedIndex。但是,经过一些看似随机的时间后,他们的索引会变为0,在ComboBox显示该项目。

现在,我只在代码中的一个位置更改selectedIndex的{​​{1}},并且在测试期间不应该执行该位置 - 并且不是,通过放置一个断点来证明从不触发。

我可以使用ComboBox更改Panels作为用户 - 但我不这样做,所以那就是了。我只是将鼠标悬停在ComboBox上。

我碰巧在检查改变后的SelectedItem状态后设法暂停了程序。 SelectedIndexTextSelectedIndexChanged属性都已更改。有趣的部分? ComboBox事件从未被解雇。

我不认为这必须对代码做任何事情,但是SelectedIndexChanged是某种奇怪的行为。

ComboBox可能默认首选索引为选定索引的原因是什么,而不是在此过程中触发SelectedIndex

如果没有别的,有没有办法可以监视ComboBox的{​​{1}}属性,如果代码发生变化,代码会暂停(就像setter中有断点一样)? / p>

0 个答案:

没有答案