Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中向椭圆形添加工具提示#_C#_Winforms_Tooltip_Powerpack - Fatal编程技术网

C# 在C中向椭圆形添加工具提示#

C# 在C中向椭圆形添加工具提示#,c#,winforms,tooltip,powerpack,C#,Winforms,Tooltip,Powerpack,我正在尝试向OvalShape(Microsoft.VisualBasic.PowerPacks.OvalShape)添加工具提示。由于它不是控件,我不能在ToolTip类中使用简单的SetToolTip()方法。如何在椭圆形上显示工具提示?如果有人有更好的想法,我绝对不必使用工具提示类。我还想保留椭圆形,除非有更好的解决方案,可以让我继承控件,同时保持一个漂亮的圆形。你必须利用鼠标悬停事件,你可以摆脱控制。这已经足够有效了: bool hoverSeen = false; p

我正在尝试向
OvalShape
Microsoft.VisualBasic.PowerPacks.OvalShape
)添加工具提示。由于它不是
控件
,我不能在
ToolTip
类中使用简单的
SetToolTip()
方法。如何在
椭圆形
上显示
工具提示
?如果有人有更好的想法,我绝对不必使用
工具提示
类。我还想保留
椭圆形
,除非有更好的解决方案,可以让我继承
控件
,同时保持一个漂亮的圆形。

你必须利用鼠标悬停事件,你可以摆脱控制。这已经足够有效了:

    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;
    }

您必须利用鼠标悬停事件,这样您才能摆脱控制。这已经足够有效了:

    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;
    }