2011-01-14 4 views
0

OvalShape (Microsoft.VisualBasic.PowerPacks.OvalShape)에 툴팁을 추가하려고합니다. Control이 아니기 때문에 ToolTip 클래스에서 간단한 SetToolTip() 메서드를 사용할 수 없습니다. OvalShapeToolTip을 표시하려면 어떻게해야합니까? 누구든지 더 좋은 아이디어가 있다면 절대적으로 ToolTip 클래스를 사용할 필요는 없습니다. 좋은 원형을 유지하면서 Control에서 나를 상속받을 수있는 더 나은 솔루션을 가진 사람이없는 한, OvalShape도 유지하고 싶습니다.C#의 OvalShape에 툴팁 추가

답변

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

이것은 매우 효과적이었습니다. –