我似乎在WinForms中花了很大一部分事件处理时间,通过实验和反复试验来了解它的事件。
例如,Control.Resize事件的定义(来自MSDN的.NET 4.0 - Control.Resize Event page):
“在控件调整大小时发生。”
事实证明,'resize'似乎在WinForms的说法中有一个相当具体的定义。只要控件改变大小,就不会触发事件(为此,你必须听SizeChanged event)。
这在MSDN文档中并不是很明显,并且通过这些事件和“特殊定义”摸索我的方式会导致大量浪费时间和意外行为。是否有一个中央存储库,可以详尽地定义WinForms事件(当它们触发时,它们不会触发,但你可能会发现它们会发生命令,等等)?
答案 0 :(得分:1)
我认为MSDN最接近您将来的参考,遗憾的是确切的信息有点分散。
也许阅读一本关于这个主题的好书将为你提供足够的WinForms背景知识,以便能够更快地找到正确的定义和参考/或理解怪癖。一个好的可能是Petzold's Programming Microsoft Windows Forms。它可能有点旧,但WinForms发布以来没有什么新东西发生过。我之所以提出这个问题,是因为Petzold是Programming Windows的作者,它是C / Win32 API的副本,而且这个版本通常被认为是 一书的Windows程序员。