2013-06-26 2 views
2

이상한 문제가 있다고 생각합니다. 툴팁에 대한 많은 질문이 있습니다. 왜 나타나지 않습니까, 아니면 여러 번 표시하지 않는 이유는 무엇입니까? 내 문제는 내가 내 툴팁 레이블 위로 마우스를 가져 가면 모든 픽셀에 대해 표시되는 레이블 위에 마우스를 천천히 움직이면 툴팁이 여러 번 표시된다는 것입니다. 나는 다음과 같이 시도했다 : ToolTip1.ReshowDelay = 500; 하지만 그 효과는없는 것 같다. 또한 label1_MouseEnterlabel1_MouseLeave을 사용해 보았지만 그 중 하나는 작동하지 않습니다. 당신이 원인이있어 :C# 레이블 툴팁이 여러 번 표시됩니다.

private void label1_Hover(object sender, EventArgs e) 
    { 
     //Enter Help box texboxes 
     System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip(); 
     ToolTip1.ShowAlways = true; 
     ToolTip1.Show("Enter the Drive letter in the first textbox" + "\n" + "Enter the submap in the second textbox", label1); 
    } 
+0

왜 마우스 오버시에 그렇게해야합니까? 그것은 정확히 무엇을 해야하는지 일을합니다 – MSI

+0

그냥 ASP를 사용하는 경우 라벨 컨트롤의 툴팁 속성을 설정합니다 : Label – MSI

+0

아니요 내가 라벨에 마우스를 올려 놓으면 도구 설명이 2 ~ 3 번 표시되거나 천천히 움직입니다. 레이블 위에는 툴팁 상자가 스팸으로 표시됩니다. 그래서 한 번에 1 개만 표시되어야합니다. – TaurusFire

답변

2

툴팁을 만들 호버 이벤트 핸들러를 사용하여 :

나는 누군가가

이 모든 일이있는 코드를 나를 도울 수 있기를 바랍니다 새 ToolTip 객체가 생성되고 사용자가이 객체 위에 마우스를 올릴 때마다 레이블과 연관됩니다. 처음으로 마우스를 가져 가면 하나의 툴팁이 표시되지만 이후의 마우스를 가져 가면 추가 툴팁이 생성됩니다.

레이블의 hover 이벤트에서 툴팁을 만드는 대신 폼을 만들 때 툴팁을 한 번만 만들면됩니다. SetToolTip() 메서드는 도구 설명이 제공된 컨트롤과 연결되게하고 일반 도구 설명으로 작동합니다 (사용자가 컨트롤 위로 마우스를 가져갈 때만 나타남).

예를 들어, 폼의 생성자에서 SetToolTip()을 호출 할 수 있습니다

public Form1() 
    { 
     InitializeComponent(); 

     new ToolTip().SetToolTip(label1, "Enter the Drive letter in the first textbox" + "\n" + "Enter the submap in the second textbox"); 
    } 

또는 폼의로드 이벤트 핸들러에서 툴팁을 만들 수 있습니다.

+0

내가 사용하는 형태로 그것을 설정 한 후, 멋져,있어 : ToolTip1.Show ("", label1); labe1_hover에서 그리고 그것은 일했다, thansk! – TaurusFire

+0

label1_hover 이벤트 처리기를 완전히 제거 할 수 있습니다. 'SetToolTip()'은 사용자가 메서드 호출에서 이름을 지정한 컨트롤 위로 마우스를 가져 가면 자동으로 툴팁을 나타냅니다. – Gage

+0

awesome, thanks;) – TaurusFire

관련 문제