我有一个 Windows.Forms 组件,它有一个返回 Size 结构的“mySize”属性。我的意图是让这个属性根据组件的大小自动计算返回的 mySize,除非 mySize 已明确设置,在这种情况下,返回 mySize 的设置值。不幸的是,现在我将组件嵌入到窗体中,Windows 窗体设计器决定开始显式生成并设置 mySize 属性的值,这让我很头疼。
所以我需要设置一个 DefaultValue,这样设计师就会走开,让我一个人呆着。
我已经阅读了处理 System.ComponentModel.DefaultValue 的答案,所以我知道我必须在构造函数中手动设置属性的值,但我发现的答案和文档只处理设置 False 的 DefaultValue,一个持续的。
Size 结构不是常量,因此 VB 编译器吓坏了,告诉我我不能将 Size 设置为 Size 类型的属性的 DefaultValue,因为 Sizes 不是常量。
这让我的大脑很受伤。
我可能可以通过使用 getMySize 和 setMySize 方法而不是使用属性来解决这个问题,但我想知道实际上是否有任何方法可以为 Size 设置默认属性。
注意:我没有将 mySize 用作覆盖 Size 属性的某种疯狂尝试(其 DefaultValue 为 150x150,因此 SOMETHING 似乎能够为 Sizes 设置 DefaultValues);mySize 只是 Class 所需的一些 Size 值。