我已将工具提示应用于C#中的文本框,以便文本框必须接受用户的名称。在工具提示中,我键入了在文本框中只欢迎字母表的说明,这是成功的。但我想要的是当用户开始输入他的名字或移动到另一个文本框时,使ToolTip消失。到目前为止的编码是;
ToolTip tt = new ToolTip();
String message = "Trying";
private void txtName_Enter(object sender, EventArgs e)
{
if (txtName.Text == String.Empty)
{
tt.Show(string.Empty, txtName, 0);
tt.Show(message, txtName, new Point(0, -2 * txtName.Height));
}
}
帮助?
答案 0 :(得分:0)
文本框中有一个名为TextChanged
的事件。一旦控件的Text
属性值发生变化,它就会触发。键入一个字符会改变Text
属性,从而触发事件。
利用这些知识,您可以在Text
不再为空时立即解除工具提示:
private void txtName_TextChanged(object sender, EventArgs e)
{
var ctl = (Control) sender; // sender is a control
if (!String.IsNullOrEmpty(ctl.Text))
{
tt.SetToolTip(ctl, String.Empty);
}
}
请注意,此实现可以通过任何您想要具有此行为的控件来使用。