1

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

帮助?

4

1 回答 1

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

请注意,此实现可以由您希望具有此行为的任何控件一般使用。

于 2016-06-23T22:39:47.610 回答