C# 自定义文本框和带有选项的自定义属性
我正在创建一个自定义文本框,我想创建一个自定义属性。我创建了一个自定义属性,该属性可以在设计模式下的textbox属性中看到。如何像组合框一样创建具有选项的自定义属性?该示例类似于设置TextAlign属性,它有3个选项,如Left、Right和Center。谢谢 如何像组合框一样创建具有选项的自定义属性? 该示例类似于设置TextAlign属性,它有3个选项 像左边,右边和中间 这是通过具有以下类型的属性实现的:C# 自定义文本框和带有选项的自定义属性,c#,winforms,C#,Winforms,我正在创建一个自定义文本框,我想创建一个自定义属性。我创建了一个自定义属性,该属性可以在设计模式下的textbox属性中看到。如何像组合框一样创建具有选项的自定义属性?该示例类似于设置TextAlign属性,它有3个选项,如Left、Right和Center。谢谢 如何像组合框一样创建具有选项的自定义属性? 该示例类似于设置TextAlign属性,它有3个选项 像左边,右边和中间 这是通过具有以下类型的属性实现的: 创建一个继承文本框的新类。然后向新类添加其他功能。CodeProject有很多创
创建一个继承文本框的新类。然后向新类添加其他功能。CodeProject有很多创建自定义c表单的实际代码。我曾经多次推荐使用自定义日历和自定义组合框。找到这些项目的最佳方法是使用谷歌搜索,比如:codeproject c自定义日历。在谷歌上找到这些项目比使用codeproject搜索要容易得多。非常感谢你。它起作用了!我正在使用枚举,我错过的是get和set。再次感谢。您好,如何获取该房产的价值?即使我在设计模式下设置了选项2,它也总是得到选项1。公共CustomTextBox:基本{开关CustomOption{case CustomOptions.Option1://some code break;case CustomOptions.Option2://some code break;case CustomOptions.Option3://some code break;}}这是构造函数,在创建控件时只调用一次。当然,它在那里只会是Option1,因为这是我设置的默认值。如果您从其他位置访问CustomOption属性,那么您应该得到正确的当前值…感谢@Idle\u Mind,我真的很感谢您在回答m时所做的努力y查询。有一件事,我想设置,如果我在设计模式中选择Option2,它将自动设置其他属性,例如textalign=Right,ForeColor=Color.black。如果我选择Option3 textalign=Left,ForeColor=Color.blue。我将把开关盒放在哪里?您将修改CustomOption属性中的setter,使其更改这是其他所需的属性。我将更改上面的代码以显示此属性。请注意,当您进行类似更改时,有时需要删除UserControl的现有实例,并在重新构建解决方案后将其重新添加到表单中。
public class CustomTextBox : TextBox
{
public enum CustomOptions
{
Option1,
Option2,
Option3
}
private CustomOptions _CustomOption = CustomOptions.Option1;
public CustomOptions CustomOption
{
get
{
return _CustomOption;
}
set
{
_CustomOption = value;
switch(_CustomOption)
{
case CustomOptions.Option1:
TextAlign = HorizontalAlignment.Center;
ForeColor = Color.Red;
break;
case CustomOptions.Option2:
TextAlign = HorizontalAlignment.Right;
ForeColor = Color.Black;
break;
case CustomOptions.Option3:
TextAlign = HorizontalAlignment.Left;
ForeColor = Color.Blue;
break;
}
}
}
}