【发布时间】:2021-05-25 14:24:07
【问题描述】:
我创建了一个自定义用户控件,我想添加一个包含一些布尔值的新属性。我不知道如何最好地解释它,所以我将解释我想要实现的目标
在用户控件上有几个可见的按钮。
由于这是一个自定义用户控件,因此在窗体上拖动它的开发人员无法访问按钮,他只能看到它们并且只能访问自定义控件本身。
但是,为了使他能够将某些按钮设置为 false,我想在自定义控件上创建一个可以执行此操作的属性。
现在,假设我有 10 个按钮,我不希望 10 个布尔属性使每个按钮可见。
我只想要一个折叠打开的属性,然后显示 10 个布尔类型的子属性(以及按钮的文本)
这样,当我需要在自定义控件上添加或删除按钮时,我会更轻松。
它可以像 Size 属性一样工作。
如果您将其折叠打开,您将获得 2 个数字子属性,width 和 height
另一个很好的例子是padding 属性,当它折叠打开时,你会得到 5 个数字类型的子属性
我希望它像那样工作,但使用布尔属性而不是数字属性。
我一直在谷歌上搜索,但找不到怎么做,可能是因为我不知道如何调用这种属性的正确 term。
所以有人可以帮助我正确地执行此操作。
【问题讨论】:
-
多个按钮合二为一
UserControl?当然。要隐藏 10 个按钮,只需...隐藏用户控件? -
@Sinatr 这没有意义,我不想隐藏用户控件,我想让一些按钮可见而一些不可见,这取决于用户控件将用于什么
-
你想拥有
uint属性(足以容纳10位)和控制按钮的可见性设置位吗? -
试试标记枚举,你可以在一个属性中存储多个状态。
-
@GuidoG,当然,请参考stackoverflow.com/questions/8447/…
标签: c# winforms properties custom-controls