gpt4 book ai didi

C# 事件和委托(delegate)

转载 作者:行者123 更新时间:2023-11-30 19:33:45 25 4
gpt4 key购买 nike

我想分离自定义事件但无法分离。下面我使用 -= 来分离事件。我假设此后,不应调用 TextChanged2 方法,因为我已取消注册该事件。我的理解有误吗?

public delegate void TextChangedEventHandler1(object sender, TextBoxargs ta);
public event TextChangedEventHandler1 TextChanged1;
private void textBox1_TextChanged(object sender, EventArgs e)
{
this.TextChanged1 -= new TextChangedEventHandler1(TextChanged2);
TextChanged2(sender, e);
}

public void TextChanged2(object sender, EventArgs e)
{
textBox1.Text = textBox1.Text.ToUpper();
}

最佳答案

你做的是对的。但是使用下面的代码行,您可以分离事件处理程序。

this.TextChanged1 -= new  TextChangedEventHandler1(TextChanged2);

但是在第二行你直接调用了函数,所以它调用了textchange2函数:

TextChanged2(sender, e);

关于C# 事件和委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3004896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com