I’ve created a derived WinForm textbox control that knows how to provide a hint (those grayed out words that say things like “Password” or “Enter search here”) as well as allowing for the beep on enter to be disabled.
I have two public properties BeepOnEnter, and HintText, a single method – ResetHint and then overrides for the Text property, the OnGotFocus event and the OnKeyPress event.
This code works fine until I have a need for a textbox on a tool strip also known as a ToolStripTextBox.
I’d like to use the same code for both the TextBox AND the ToolStripTextBox. Is there a way minimize/reduce redundancy? I definitely need code that has classes that are derived from TextBox and ToolStripTextBox so the ui designer allows me to drop these new controls on a form or tool strip but can’t figure out how to do it in an OO way.
ToolStripTextBoxis derived fromToolStripControlHostandTextBoxis derived fromTextBoxBaseand as multiple inheritance is not allowed, you will be best off creating a 3rd utility class and putting all similar functions in it. You can then leverage an instance of this class in your derived controls to get the common functionality you want.