在C#中将工具提示添加到OvalShape

时间:2011-01-14 16:46:17

标签: c# winforms tooltip powerpack

我正在尝试向OvalShapeMicrosoft.VisualBasic.PowerPacks.OvalShape)添加工具提示。由于它不是Control,我无法在SetToolTip()类中使用简单的ToolTip方法。我如何才能在ToolTip上展示OvalShape?如果有人有任何更好的想法,我绝对不必使用ToolTip课程。我还想保留OvalShape,除非有人有一个更好的解决方案,可以在保持良好的圆形状的同时从Control继承。

1 个答案:

答案 0 :(得分:3)

您必须利用可以离开控件的MouseHover事件。这很好用:

    bool hoverSeen = false;

    private void ovalShape1_MouseHover(object sender, EventArgs e) {
        if (!hoverSeen) {
            hoverSeen = true;
            // Todo, fix position
            Point pos = ovalShape1.Parent.PointToClient(Cursor.Position);
            toolTip1.Show("On oval", ovalShape1.Parent, pos);
        }
    }

    private void ovalShape1_MouseLeave(object sender, EventArgs e) {
        if (hoverSeen) toolTip1.Hide(ovalShape1.Parent);
        hoverSeen = false;
    }