如何使派生的文本框和toolstriptextbox在Vs2010中使用相同的代码

时间:2011-05-25 18:54:19

标签: visual-studio-2010 textbox inheritance

我已经创建了一个派生的WinForm文本框控件,它知道如何提供提示(那些灰色的单词,例如“密码”或“在此处输入搜索”)以及允许输入上的蜂鸣声被禁用。

我有两个公共属性BeepOnEnter和HintText,一个方法 - ResetHint然后覆盖Text属性,OnGotFocus事件和OnKeyPress事件。

此代码正常工作,直到我需要工具条上的文本框,也称为ToolStripTextBox。

我想对TextBox和ToolStripTextBox使用相同的代码。有没有办法最小化/减少冗余?我肯定需要具有从TextBox和ToolStripTextBox派生的类的代码,因此ui设计器允许我在表单或工具条上删除这些新控件,但无法弄清楚如何以OO方式执行它。

1 个答案:

答案 0 :(得分:1)

ToolStripTextBox派生自ToolStripControlHostTextBox派生自TextBoxBase,并且由于不允许多重继承,您最好创建第3个实用程序类并放置所有类似的功能。然后,您可以在派生控件中利用此类的实例来获得所需的常用功能。