我已经动态创建了一个 TextBox
并使用以下方法将 Tap 事件处理程序附加到它:
control.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(OnClick1);
它工作正常。但是,现在我想更改事件处理程序以指向一些不同的方法。我试过:
control.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(OnClick2);
但是,它仍然指向第一个事件处理程序。即 OnClick1
。我该怎么做才能让它指向 OnClick2
?还有没有办法完全删除这个事件处理程序?
最佳答案
您需要先删除第一个处理程序:
control.Tap -= OnClick1;
control.Tap += OnClick2;
(请注意方法组转换的使用更简单,而不是显式创建事件处理程序。它做同样的事情,但可读性更高。)
关于c# - 更改已附加的事件处理程序运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8225865/