【问题标题】:c# tooltip backcolor and forecolor are not changing with using method or other waysc# tooltip backcolor 和 forecolor 不会随着使用方法或其他方式而改变
【发布时间】:2012-10-04 08:29:40
【问题描述】:

我想在我的 Windows 窗体应用程序中使用工具提示。所以我创建了一个这样的简单方法:

public void MyTooltips(Control c, string m, bool b) { 工具提示 t = new ToolTip(); t.IsBalloon = b; t.SetToolTip(c, m); t.BackColor = 颜色.Crimson; t.ForeColor = 颜色.白色; }

我是这样使用它的:MyTooltips(combobox1, "If anything, select zero.", true);
在使用中,工具提示的前后颜色没有变化。工具提示显示为 Windows 7 默认工具提示的前后颜色。我该怎么做?
亲切的问候。

【问题讨论】:

    标签: c# tooltip


    【解决方案1】:

    HTML Renderer 可以做到这一点。例如:

    htmlTooltip1.Set(textBox1, "<font color=\"red\">What is tooltip?</font>");
    

    【讨论】:

      【解决方案2】:

      来自BackColor 属性的相关MSDN article

      除非工具提示是所有者绘制的,否则此属性将被忽略。

      如果您想自定义 ToolTip 的颜色,您必须将 OwnerDraw 设置为 true 并自己绘制控件(使用 Draw 事件)。

      【讨论】:

      • 谢谢。我正在努力创造一种方法。但我看到了,很难。可能是,我应该继续 Window 的风格:)
      • 普遍认为您应该优先使用操作系统样式而不是您自己的样式。您可以通过添加标题和/或图标将用户的注意力吸引到工具提示上,而无需更改颜色。
      【解决方案3】:

      MSDN 帮助并非 100% 准确:如果您不启用视觉样式,BackColor 确实工作:在 Main() 中注释掉对 Application.EnableVisualStyles() 的调用。但纯粹主义者可能会建议您不要这样做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-01
        • 1970-01-01
        • 2016-11-09
        • 2022-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多