当我将textBox.TextChanged添加到观察列表时,我收到一条消息说
The event 'System.Windows.Forms.Control.TextChanged' can only appear on the left hand side of += or -=
有没有办法检查文本更改时调用的事件?
答案 0 :(得分:1)
在调试器中,打开控件并找到包含EventHandlerList的私有变量。然后找到TextChanged
的事件添加/删除代码,以便查看使用了哪个密钥 - 并检查该密钥的事件处理程序列表条目。
这很痛苦,但应该有效。
答案 1 :(得分:1)
不是真的;根据设计,事件是一个封闭的盒子。有很多方法可以实现它,但它们都需要乱搞实现(无论是类似字段的事件,还是EventHandlerList等)。
你为什么需要这个?
另一种方法可能是从MS symbol server获取TextBox pdb,这样你就可以添加一个断点(到OnTextChanged
)并逐步执行TextBox代码,然后进入委托调用...再次,不理想。