public class HideCaretText : TextBox
{
private bool hideCaret = true;
public bool HideCaretP
{
get
{
return hideCaret;
}
set
{
hideCaret = value;
}
}
public HideCaretText()
{
SetCaret(this);
this.MouseMove += new MouseEventHandler(MouseHideCaret);
this.MouseUp += new MouseEventHandler(MouseHideCaret);
this.MouseDown += new MouseEventHandler(MouseHideCaret);
this.MouseClick += new MouseEventHandler(MouseHideCaret);
this.MouseDoubleClick += new MouseEventHandler(MouseHideCaret);
this.Enter += new System.EventHandler(MouseEnterHideCaret);
}
void MouseEnterHideCaret(object sender, EventArgs e)
{
SetCaret(sender as TextBox);
}
void MouseHideCaret(object sender, MouseEventArgs e)
{
SetCaret(sender as TextBox);
}
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool HideCaret(IntPtr hWnd);
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool ShowCaret(IntPtr hWnd);
void SetCaret(TextBox textbox)
{
if (HideCaretP)
{
HideCaret(textbox.Handle);
}
else
{
ShowCaret(textbox.Handle);
}
}
}