C# 控件自定义属性
我刚刚学习了C#(窗口窗体)中的自定义控件。我创建了下面的自定义控件,正如您所看到的,我有一个名为“Test”的属性,该属性应设置为EnumTest的enum值-它可以工作查找,但我希望控件的用户选择多个属性,以便“Test”属性可以:C# 控件自定义属性,c#,winforms,enums,controls,C#,Winforms,Enums,Controls,我刚刚学习了C#(窗口窗体)中的自定义控件。我创建了下面的自定义控件,正如您所看到的,我有一个名为“Test”的属性,该属性应设置为EnumTest的enum值-它可以工作查找,但我希望控件的用户选择多个属性,以便“Test”属性可以: Test = EnumTest.TopLeft | EnumTest.TopRight; 这是否可能?如果可能,属性中的下拉框仅允许我在列表中选择一个枚举。如果可能的话,我需要检测到如果用户将其设置为“无”,那么它将是一个单选而不是多选 namespace W
Test = EnumTest.TopLeft | EnumTest.TopRight;
这是否可能?如果可能,属性中的下拉框仅允许我在列表中选择一个枚举。如果可能的话,我需要检测到如果用户将其设置为“无”,那么它将是一个单选而不是多选
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]
!下次应该很容易记住…我已经在枚举中添加了[Flags],但是在属性窗口(在设计模式下)中,我只能选择一个选项来设置它-我想要类似“锚”的东西,除了用于选择定位点的图形界面部分。然后您需要一个UITypeEditor。我将查找一些UITypeEditor教程。谢谢你给我指明了正确的方向。