【问题标题】:Create own TextBox class with specific properties in c#在 C# 中创建具有特定属性的自己的 TextBox 类
【发布时间】:2020-02-13 07:57:45
【问题描述】:
我是 C# 编程的新手。在 C# 中创建自己的 TextBox 类(从原始类继承)的问题上,我需要您的帮助。
如何从通用 TextBox 类创建/继承我自己的类?我的目标是,一旦我从我的类中创建了 1 个对象,应自动为所有实例设置以下属性:
一旦我想使用相同的文本框,但形式和/或标签不同,我会避免每次都重复使用我的编码部分。
提前致谢,
马蒂亚斯
【问题讨论】:
标签:
c#
inheritance
autocomplete
textbox
【解决方案1】:
public class MyTextBox : TextBox
{
public MyTextBox()
{
// Change the background color
this.BackColor = Color.BurlyWood;
this.Font = new Font("Verdana", 16);
}
}
构建您的项目。
之后,查看您的工具箱:
我没有帮你回答自动完成,我现在必须做晚饭,但我想让你抢先一步。
搜索自动完成教程,在文本框下方放置一个列表框应该不难。为此,您要创建一个自定义用户控件,并处理文本框的 keydown 事件以过滤您的列表。
编辑:
如果不需要,您也不必从 TextBox 继承。您还可以做的是组合两个控件,就像我在这里用我的 LabelTextBoxControl、LabelComboBoxControl、LabelCheckBoxControl 等做的那样。我不想总是将两个控件拖到一个表单上,所以我组合了一个标签和其他基本控件.
如果您想查看具有这些类型的用户控件的示例开源项目(对于 Windows 窗体),它位于此处:
https://github.com/DataJuggler/DataJuggler.Win.Controls
附: > 始终忽略本网站上的反对者。这就是我学习创建用户控件的方式。创造你想要的。