0

MouseEventArgs 是否有等效于执行 e.Handled 的方法?我遇到了一个问题,我的事件处理程序在同一个对象上触发了两次。我单击对象(一个按钮),它运行应该删除按钮的代码。我一步一步地通过,因为它删除了按钮。但随后它再次运行!我检查了发件人——它的(据称已删除!)按钮 0_o。

    private void InTrayButton_MouseUp(object sender, MouseEventArgs e)
    {
        Button button = (Button)sender;
        int element = 0;

        //Find the index of the button in the list
        foreach (ButtonList a in buttonList)
        {
            if (button == a.buttonSaved)
                break;
            element++;
        }

        //Remove the button
        this.Controls.Remove(buttonList[element].buttonSaved);
        buttonList[element].buttonSaved.Dispose();
        buttonList.Remove(buttonList[element]);

    }

有人对我如何强制它停止两次关闭有任何想法吗?无论我将其设置为 mouseup 还是 click 事件都没有关系,它每次都会触发两次 >_>

4

1 回答 1

1

听起来您在代码中不止一次连接同一个事件处理程序。我建议追踪它的位置并确保它只发生一次。

于 2013-04-03T21:43:58.270 回答