NBTExplorer/Windows/WatermarkTextBox.cs

64 lines
1.5 KiB
C#
Raw Permalink Normal View History

2013-11-10 01:09:22 +00:00
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace NBTExplorer.Windows
{
class WatermarkTextBox : TextBox
{
public WatermarkTextBox ()
{
WatermarkText = "Type here";
WatermarkActive = true;
this.Text = WatermarkText;
this.ForeColor = Color.Gray;
GotFocus += (source, e) => {
RemoveWatermak();
};
LostFocus += (source, e) => {
ApplyWatermark();
};
}
public string WatermarkText { get; set; }
public bool WatermarkActive { get; set; }
public void RemoveWatermak ()
{
if (this.WatermarkActive) {
this.WatermarkActive = false;
this.Text = "";
this.ForeColor = Color.Black;
}
}
public void ApplyWatermark ()
{
if (!this.WatermarkActive && string.IsNullOrEmpty(this.Text) || ForeColor == Color.Gray) {
this.WatermarkActive = true;
this.Text = WatermarkText;
this.ForeColor = Color.Gray;
}
}
public void ApplyWatermark (string newText)
{
Text = "";
WatermarkText = newText;
ApplyWatermark();
}
public void ApplyText (string text)
{
RemoveWatermak();
Text = text;
}
}
}