【问题标题】:Tooltip-textbox in C#C# 中的工具提示文本框
【发布时间】:2013-05-17 15:39:13
【问题描述】:

我已经在 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));
        }
    }

帮助?

【问题讨论】:

  • 何不使用更方便的HTML5方式placeholders。它们非常适合您的用例。
  • 设置 tt.ShowAlways = false;

标签: c# tooltip show-hide


【解决方案1】:

文本框上有一个名为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);
    }
}

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

【讨论】:

    猜你喜欢
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2021-01-18
    • 2011-07-20
    • 1970-01-01
    • 2019-01-24
    • 2017-01-31
    相关资源
    最近更新 更多