Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义文本框和带有选项的自定义属性_C#_Winforms - Fatal编程技术网

C# 自定义文本框和带有选项的自定义属性

C# 自定义文本框和带有选项的自定义属性,c#,winforms,C#,Winforms,我正在创建一个自定义文本框,我想创建一个自定义属性。我创建了一个自定义属性,该属性可以在设计模式下的textbox属性中看到。如何像组合框一样创建具有选项的自定义属性?该示例类似于设置TextAlign属性,它有3个选项,如Left、Right和Center。谢谢 如何像组合框一样创建具有选项的自定义属性? 该示例类似于设置TextAlign属性,它有3个选项 像左边,右边和中间 这是通过具有以下类型的属性实现的: 创建一个继承文本框的新类。然后向新类添加其他功能。CodeProject有很多创

我正在创建一个自定义文本框,我想创建一个自定义属性。我创建了一个自定义属性,该属性可以在设计模式下的textbox属性中看到。如何像组合框一样创建具有选项的自定义属性?该示例类似于设置TextAlign属性,它有3个选项,如Left、Right和Center。谢谢

如何像组合框一样创建具有选项的自定义属性? 该示例类似于设置TextAlign属性,它有3个选项 像左边,右边和中间

这是通过具有以下类型的属性实现的:


创建一个继承文本框的新类。然后向新类添加其他功能。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;
            }
        }
    }

}