C#中的工具提示文本框

时间:2013-05-17 15:39:14

标签: c# tooltip show-hide

我已将工具提示应用于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));
        }
    }

帮助?

1 个答案:

答案 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);
    }
}

请注意,此实现可以通过任何您想要具有此行为的控件来使用。