在c#中创建自己的具有特定属性的TextBox类

问题描述 投票:0回答:1

我在C#编程中还很陌生。对于在C#中创建自己的TextBox类(继承自原始类)的问题,我需要您的帮助。

如何从通用TextBox类创建/继承我自己的类?我的目标是,一旦我从类中创建了1个对象,便应将以下属性自动设置为所有实例:

  • 自动完成模式
  • AutocompleteSource
  • AutocompleteCustomSource

一旦我想使用相同的文本框,但使用不同的形式和/或制表符,我将避免每次都重复使用编码部分。

谢谢,

Matyas

c# inheritance autocomplete textbox
1个回答
2
投票
public class MyTextBox : TextBox
{
    public MyTextBox()
    {
        //  Change the background color
        this.BackColor = Color.BurlyWood;
        this.Font = new Font("Verdana", 16);
    }
}

构建您的项目。

之后,在工具箱中查看:

enter image description here

我没有帮助您回答自动完成,我现在必须做晚饭,但我想让您先入为主。

搜索自动完成的教程,将列表框放在文本框下面并不难。为此,您要创建一个自定义用户控件,并处理文本框的keydown事件以过滤列表。

编辑:如果不需要,您也不必从TextBox继承。您还可以做的是将两个控件组合在一起,就像我在这里对我的LabelTextBoxControl,LabelComboBoxControl,LabelCheckBoxControl等进行操作一样。我不想总是将两个控件拖到一个窗体上,所以我将Label和其他基本控件组合在一起。

如果要查看具有这些类型的用户控件的示例开源项目,(对于Windows窗体,则位于以下位置:https://github.com/DataJuggler/DataJuggler.Win.Controls

P.S。 >始终忽略本网站上的失望选民。这就是我学会创建用户控件的方式。创建您想要的。

© www.soinside.com 2019 - 2024. All rights reserved.