3

有人对如何更改动态创建的字体有任何想法ToolTip吗?我通常做的Label

string arialUnicodeFontFace = "Arial Unicode MS";
            Font unicodeFont = new Font(arialUnicodeFontFace, 8);
            if (unicodeFont.Name != arialUnicodeFontFace)
                unicodeFont = new Font("NSimSun", 8);

Label lbl = new Label();
lbl.Font = unicodeFont;
    for (int x = 0; x < dt.Rows.Count; x++)
            {
TextBox txt = new TextBox();
                txt.Name = dt.Rows[x]["field_name"].ToString();
                txt.Width = 200;
                txt.Height = 10;
                ToolTip tooltip = new ToolTip();
foreach (DataRow row in dtchnge.Rows)
            {


                if (dt.Rows[x]["definition"].ToString() == row["term"].ToString())
                {
                    tooltip.SetToolTip(txt, row["language_based_term"].ToString());
                }
            }
4

1 回答 1

3

基本ToolTip由操作系统绘制,如果要自定义它,则需要将OwnerDraw 属性设置为 true 并像 MSDN 示例所示那样处理Draw Event中的自定义字体。

从第一个链接:

通常,ToolTip 由操作系统绘制,但要自定义 ToolTip 的外观,您可以将 OwnerDraw 属性设置为 true 并处理 Draw 事件。

IsBalloon 属性优先于 OwnerDraw 属性。如果两者都设置为 true,则工具提示将使用气球窗口而不是所有者绘制的窗口显示。

于 2012-12-03T03:41:22.613 回答