首先页面布局
现在布局完成了 TextBox默认是没有点击事件的 所以要我们自己写一个 所以我们需要在后台代码中添加一个点击事件
这样就可以实现了 本人已测试 可以实现清空功能
你在窗体的构造函数里给textbox赋值
textBox1.Text = "么么么么";
然后在vs设计界面点击该textbox,在右下角的属性框那里点击闪电图标,找到里面的MouseClick事件,双击进去。
里面写:
textBox1.Text ="";
运行后点击textbox就执行MouseClick函数的。
public class TextBoxUi:TextBox
{
private const uint ECM_FIRST = 0x1500;
private const uint EM_SETCUEBANNER = ECM_FIRST + 1;
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, uint wParam, [MarshalAs(UnmanagedType.LPWStr)]string lParam);
bool hasText = false;
private string m_tip_text = "提示文字";
[CategoryAttribute("自定义")]
[DescriptionAttribute("每条日志前是否显示日期")]
public string ToolTipText
{
set
{
m_tip_text = value;
SendMessage(Handle, EM_SETCUEBANNER, 0, m_tip_text);
}
get
{
return m_tip_text;
}
}
public TextBoxUi()
{
}
protected override void OnEnter(EventArgs e)
{
base.OnEnter(e);
if (!hasText)
Text = "";
ForeColor = Color.Black;
}
protected override void OnLeave(EventArgs e)
{
base.OnLeave(e);
if(Text == "")
{
Text = ToolTipText;
ForeColor = Color.Gray;
hasText = false;
}
else
{
hasText = true;
}
}
}