有没有办法强制显示工具提示?

Posted

技术标签:

【中文标题】有没有办法强制显示工具提示?【英文标题】:Is there a way to force a tooltip to show? 【发布时间】:2011-05-07 19:18:11 【问题描述】:

我有一个验证字段的方法。如果无法验证该字段将被清除并标记为红色。

我还希望在框上弹出一个工具提示,向用户显示该值无效的消息。有没有办法做到这一点,也许可以控制工具提示显示多长时间?如何让它自己弹出而不是鼠标悬停?

【问题讨论】:

WinForms? WPF?还有什么? 您希望弹出窗口出现在哪里?工具提示出现在悬停...如果您希望它始终存在,您可能希望另一个元素出现在屏幕上。因为你还必须在屏幕上设置它的位置。 我只想让它在正常位置弹出,就在控件旁边。弹出并显示几秒钟 【参考方案1】:
“如果无法验证该字段,我会清除该框并将其标记为红色。我还希望它在该框上方弹出一个工具提示,说明该值无效。”

根据您想要的行为的描述,听起来您最好使用ErrorProvider 组件而不是工具提示。 ErrorProvider 组件将自动在验证失败的控件旁边放置一个您指定的图标,并向用户显示一个工具提示,描述验证错误和/或他们需要采取的纠正错误的步骤:

C# Corner 上有一个示例,但实现起来非常简单。只需将ErrorProvider 组件添加到您的表单(它默认在工具箱中可用),然后在您的验证方法中,编写以下代码:

private void ValidateName()

 if (string.IsNullOrEmpty(NameTextBox.Text))
    
            //Validation failed, so set an appropriate error message
            errorProvider.SetError(NameTextBox, "You must enter your name");
    
    else
    
            //Clear previous error message
            errorProvider.SetError(NameTextBox, string.Empty);
    

【讨论】:

【参考方案2】:

试试这个: 基本上,

private void button1_Click(object sender, EventArgs e)

    ToolTip toolTip1 = new ToolTip();
    toolTip1.Title = "Invalid entry"; // Title to display.
    toolTip1.Show("Please enter a number.", textBox1); // Message of the toolTip and to what control to appear.

但工具提示还有 5 个其他重载。你可以看到它here

【讨论】:

【参考方案3】:

Here你有一个例子。使用工具提示的属性,工具提示将按您的意愿显示。

工具提示上有Show 方法。

注意:.net 2.0 版本

【讨论】:

好的,所以我得到它来设置属性。但我错过了如何让它自动显示,而不仅仅是鼠标悬停【参考方案4】:

这是一个 winforms 应用吗...如果是的话Check here

如果它是一个 ASP.NET Web 应用程序...您可以添加一个名为 tooltip 的字段

【讨论】:

以上是关于有没有办法强制显示工具提示?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法指定工具提示中显示的文字?

有没有办法在禁用的 QWidget 上显示工具提示

使用 Python 类型提示对数字强制执行单位

有没有办法在没有多个类的情况下更改单个工具提示工具提示的侧面/位置?

有没有办法在 js 或 css 中悬停时显示一种不透明度低的工具提示?

有没有办法强制 Grafana 中的 Stat 面板的输出只显示天数