2010-08-18 5 views
2

컨트롤과 관련 툴팁이있는 폼이 있습니다. 한 번에 모든 툴팁을 표시해야하는 도움말 버튼을 구현 중입니다.이미 컨트롤에 연결된 모든 툴팁을 표시하는 방법

내가 이런 식으로 어떻게 든 그것을 구현하고 싶습니다 :

private void btnHelp_Click(object sender, EventArgs e) 
{ 
    System.Windows.Forms.Control.All.Show.Their.Tooltips(); 
} 

내가 ToolTip.Show()하지만, 그것을 사용하는 생각

:-) 그것을 할 수있는 간단한 방법을 찾을 수 없습니다 컨트롤뿐 아니라 툴팁 텍스트도 필요합니다. 그러나 필요한 툴팁이 컨트롤의 속성에 이미 할당되어 있으므로 다시 쓰고 싶지 않습니다.

UPD. 나는이 기능을 구현 시작 :

public void ShowControlsTooltip(System.Windows.Forms.Control c) 
    { 
     ttsToolTips.Show(ttsToolTips.GetToolTip(c), c, c.Location.X, c.Location.Y); 
    } 

을하지만 그것은 동시에 여러 도구 설명을 표시 할 수 없습니다.

UPD2. 이제 이런 종류의 코드가 있지만 모든 툴팁이 계속 깜박이며 사라집니다.

public void ShowControlsTooltip(System.Windows.Forms.Control c) 
{ 
    ToolTip t = new ToolTip(); 
    //t = ttsToolTips; 
    t.Show(ttsToolTips.GetToolTip(c), c, c.Location.X, c.Location.Y, 1000); 
} 

private void btnHelp_Click(object sender, EventArgs e) 
{ 
    foreach (Control c in this.Controls) 
    { 
     try 
     { 
      ShowControlsTooltip(c); 
     } 
     catch 
     { 

     } 
    } 
} 

ttsToolTips를 사용하면 이미 모든 툴팁 연결이 있습니다.

UPD3. 마치 작품처럼 보입니다. 그러나 좌표가 정확하지 않습니다.

큰 질문은 이제 어떻게됩니까? -이 툴팁을 모두 한 번에 제거하는 방법은 무엇입니까?

답변

1
foreach(Control c in Form.Controls) 
{ 
    string s = Tooltip.GetTooltip(c); 
    c.ShowTooltip(s,this); 
} 
+0

좋은 지적 - 나는 그저 시도했지만 몇 가지 이유로 툴팁이 한 번 깜박이고 사라진다. 한 번에 두 개 이상 가질 수는없는 것 같습니다. – Halst

+0

그리고 Alt 키를 누를 때 Office와 비슷하게 보이길 원하십니까? – XstreamINsanity

+0

각 컨트롤에 대해 다른 툴팁 개체를 만들어보십시오. –

관련 문제