Menu

解决 工具提示绘制例程无法触发?

tim8w

知名会员
已加入
2020年9月8日
留言内容
81
编程经验
10+
你好,
我想更改ToolTip控件的字体。所以我在控件中将OwnerDraw设置为"true"并创建了Popup和Draw例程:

C#:
        private void ttControl_Draw(object sender, DrawToolTipEventArgs e)
        {
            Font tooltipFont = new Font("Tahoma", 15.0f, FontStyle.Bold);
            e.DrawBackground();
            e.DrawBorder();
            e.Graphics.DrawString(e.ToolTipText, tooltipFont, Brushes.Black, new PointF(2, 2));
        }

        private void ttControl_Popup(object sender, PopupEventArgs e)
        {
            Size newSize;
            newSize = new Size(TextRenderer.MeasureText(ttControl.GetToolTip(e.AssociatedControl), new Font("Tahoma", 15.0f, FontStyle.Bold)).Width,e.ToolTipSize.Height);
            e.ToolTipSize = newSize;
        }

并在设计器中添加了相应的行:

C#:
            this.ttControl.Draw += new System.Windows.Forms.DrawToolTipEventHandler(this.ttControl_Draw);
            this.ttControl.Popup += new System.Windows.Forms.PopupEventHandler(this.ttControl_Popup);

当我将鼠标悬停在Label上时,会弹出Popup事件,但Draw不会。有任何想法吗?
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,533
地点
弗吉尼亚州切萨皮克
编程经验
10+
解决方案
最佳 底部