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