0

我似乎在 WinForms 中花费了我大部分的事件处理时间,通过实验和反复试验来了解它的事件。

例如 Control.Resize 事件的定义(来自 MSDN 的.NET 4.0 - Control.Resize Event page):

“在调整控件大小时发生。”

事实证明,“调整大小”在 WinForms 用语中似乎有一个相当具体的定义。每当控件更改大小时,都不会触发该事件(为此,您必须侦听SizeChanged 事件)。

这在 MSDN 文档中并不是很明显,并且摸索这些事件和“特殊定义”会导致大量时间浪费和意外行为。是否有一个完整的 WinForms 事件定义的中央存储库(当它们触发时,当它们不触发但您可能期望它们会触发时,触发顺序等)?

4

1 回答 1

1

我认为 MSDN 是最接近你会来的参考,不幸的是,确切的信息有点分散。

也许阅读一本关于该主题的好书将为您提供足够的 WinForms 背景知识,以便能够更快地找到正确的定义和参考/或理解怪癖。一个好的可能是Petzold 的 Programming Microsoft Windows Forms。它可能有点老了,但自从 WinForms 出现以来,并没有发生什么真正的新事物。我之所以推荐这本书,是因为 Petzold 是 Programming Windows 的作者,它是 C/Win32 API 的对应物,而这本书通常被认为是Windows 程序员书。

于 2012-10-09T17:26:41.013 回答