有没有办法在Visual Studio调试器中查看TextBox TextChanged事件的所有事件处理程序?

时间:2008-10-28 10:11:24

标签: c# .net

当我将textBox.TextChanged添加到观察列表时,我收到一条消息说

The event 'System.Windows.Forms.Control.TextChanged'
can only appear on the left hand side of += or -=

有没有办法检查文本更改时调用的事件?

2 个答案:

答案 0 :(得分:1)

在调试器中,打开控件并找到包含EventHandlerList的私有变量。然后找到TextChanged的事件添加/删除代码,以便查看使用了哪个密钥 - 并检查该密钥的事件处理程序列表条目。

这很痛苦,但应该有效。

答案 1 :(得分:1)

不是真的;根据设计,事件是一个封闭的盒子。有很多方法可以实现它,但它们都需要乱搞实现(无论是类似字段的事件,还是EventHandlerList等)。

你为什么需要这个?

另一种方法可能是从MS symbol server获取TextBox pdb,这样你就可以添加一个断点(到OnTextChanged)并逐步执行TextBox代码,然后进入委托调用...再次,不理想。