Introduction
In this blog I have created a water mark TextBox using base control, I took custom control project and did some
modification on the base control.
To make a water mark user control follow the following steps given bellow
- Create new console control project
- name the project name as you want to name the controls.
- Add a class and rename that as per-requirement
- Inherit that class from TextBoxclass
In this article I have named the control as MyTextBox, declare a public string property as NullText and set the value to 'Null Text'.
Code
public string _NullText = "Null Text";
public stringNullText {
get
{
return _NullText;
}
set
{
_NullText = value;
}
}
In the initialized event set the font color to gray and text to NullText if the
textbox contains only nulltext, if not contains set the font color to black.
Code
if (string.IsNullOrEmpty(this.Text))
{
this.Text = NullText;
this.Foreground = Brushes.LightGray;
}
In the gotfucuse event clear the text of text box if it contains text same as
nulltext and set the fore color to gray, if not fore color will be black. See
the following code written bellow:
Code
if (this.Text == NullText)
{
this.Clear();
this.Foreground = Brushes.LightGray;
}
else
this.Foreground = Brushes.Black;
In the lost focuse event if the text box text is equals to nulltext then set the
fore color to gray and if the text is equal to empty thatn set the text to
nulltext other wise set the color to black
See the following code :
Code
private void MyTextBox_LostFocus(object sender, RoutedEventArgs e)
{
this.Text = (this.Text == string.Empty ? NullText : this.Text);
if (this.Text != NullText)
{
this.Foreground = Brushes.Black;
}
else
this.Foreground = Brushes.LightGray;
}
Full Code
public class MyTextBox : TextBox
{
public string _NullText = "Null Text";
public stringNullText {
get
Join the conversation! Your thoughts help the community grow.