0

我创建了一个简单的 Tooltip 类,我想用更多的功能来增强它,但是只有一个基本的 Tooltip 我遇到了一个问题,当它第二次或之后出现时,它会沿着边框出现丑陋的边缘。第一次显示时,它看起来是正确的。

谁能告诉我为什么会这样?

using System;
using System.Data;
using System.Linq;
using System.Text;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
using System.Threading.Tasks;
using System.Drawing.Drawing2D;
using System.Collections.Generic;

class CToolTip : ToolTip
{

    public CToolTip()
    {
        this.OwnerDraw = true;
        this.Popup += new PopupEventHandler(this.OnPopup);
        this.Draw += new DrawToolTipEventHandler(this.OnDraw);
    }

    private void OnPopup(object sender, PopupEventArgs e)
    {
        e.ToolTipSize = new Size(200, 200);
    }

    private void OnDraw(object sender, DrawToolTipEventArgs e)
    {
        e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
        e.Graphics.FillRectangle(Brushes.LightYellow, new Rectangle(0, 0, 200, 200));
    }
}

我在表单中添加了 CToolTip 和按钮。为悬停事件添加了一个事件处理程序并将其显示在按钮悬停上。

this.button1.MouseHover += new System.EventHandler(this.button1_MouseHover);

    private void button1_MouseHover(object sender, EventArgs e)
    {
        cTip.SetToolTip(button1, "This is a test");
    }
4

1 回答 1

0

最终变成了这条线。当我删除它时,问题就消失了。

e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
于 2013-06-27T17:44:12.913 回答