3

我想在我的 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 默认工具提示的前后颜色。我怎样才能做到这一点?
亲切的问候。

4

3 回答 3

4

来自该属性的相关MSDN 文章BackColor

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

如果要自定义工具提示的颜色,则必须设置OwnerDraw为 true 并自己绘制控件(使用Draw事件)。

于 2012-10-04T08:32:18.850 回答
4

HTML 渲染器可以做到这一点。例如:

htmlTooltip1.Set(textBox1, "<font color=\"red\">What is tooltip?</font>");
于 2012-11-15T20:35:06.963 回答
0

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

于 2022-02-21T14:30:42.710 回答