如果将下拉菜单悬停,Combobox SelectedIndexchanged Fires两次



我在Winforms中有一个ComboBox,我从下拉列表中将项目拖到一个picturebox上。如果我直接从组合(右或左)拖出一件项目,则一旦被选定的fires。但是,如果我碰巧在光标离开组合之前将下拉物品悬停在下拉菜单中,则事件将两次射击。我已经尝试了几乎所有我发现的建议。而且,是的,选定的Changected以相同的方式工作。对解决方案有任何想法吗?

有趣的是,它如何帮助发布问题!我自己发现了一个可用的解决方法:首先,我添加了最初设置为0的全局整数准备下一个拖动操作),两次执行了代码。解决方案是仅在组合事件中进行重置,因为这发生在变化事件之前。然后,它将在我尝试启动下一个拖动操作时重置。

    int runonce = 0;
    private void cmbTags_MouseClick(object sender, MouseEventArgs e) 
    {
        runonce = 0;
    }
    private void cmbTags_SelectionChangeCommitted(object sender, EventArgs e)
    {
        runonce++;
        if (runonce == 1)
        {
            // My cmbTags_SelectionChangeCommitted-code
        }
    }

相关内容

  • 没有找到相关文章

最新更新