如何解决控制自定义属性
| 我只是在学习C#(窗口形式)中的自定义控件,我已经创建了以下自定义控件,如您所见,我有一个名为\“ Test \”的属性,应将其设置为EnumTest的枚举值-它可以正常工作,但我希望控件的用户选择多个属性,因此“ Test \”属性可以是:Test = EnumTest.TopLeft | EnumTest.TopRight;
这是可能的吗?如果可以,那么属性中的下拉框仅允许我在列表中选择一个枚举。另外,如果可能的话,我需要检测一下,如果用户将其设置为“ None”,那么它将是单选而非多选。
namespace WindowsFormsApplication1
{
public partial class myControl1 : Control
{
public enum EnumTest
{
None = 0,TopLeft = 1,TopRight = 2,BottomLeft = 4,BottomRight = 8,All = TopLeft | TopRight | BottomLeft | BottomRight
}
public UserControl1() {
InitializeComponent();
}
public EnumTest Test {
get;
set;
}
}
}
非常感谢您对此提供的任何帮助。
解决方法
在您的枚举中添加
[Flags]
表示它接受多个值。
我不记得属性网格是否知道[Flags]
枚举。如果不是,则需要编写一个UITypeEditor。
, 枚举没有用于指定标志枚举的属性吗?请稍等,我正在调查...
嘿,您知道什么:他们称属性[Flags]
!下次应该很容易记住这一点...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。