2009-03-09 7 views

답변

4

나는 할 수있는 방법이 있다고 확신하지만, 왜 물어야합니까? 나는 그것이 매우 나쁘게 보이고 작동하고 아마도 사용자를 혼란스럽게 할 것이라고 생각한다.

왜 텍스트 끝에 끝에 타원 (...)이 찍히고 레이블에 툴팁이 표시되지 않습니까?

using System.Windows.Forms; 

var label = new Label(); 
label.AutoSize = false; 
label.AutoEllipsis = true; 
label.Text = "This text will be too long to display all together."; 

var labelToolTip = new ToolTip(); 
labelToolTip.SetToolTip(label, label.Text); 

이제 사용자가 마우스를 가리키면 전체 텍스트가 툴팁에 표시됩니다. 레이블의 텍스트가 잘리고 타원으로 끝나기 때문에 사용자는 더 많은 정보 (일반적으로 표준 방법)로 마우스를 가져 가야합니다.

1

TextAlign 속성을 사용하면 맞춤을 지정할 수 있습니다. 이 값으로 오른쪽 정렬하면 텍스트의 오른쪽이 항상 표시됩니다. 그러나 왼쪽 또는 가운데 정렬을하고 여전히 설명하는 동작을 원할 경우 Graphics.MeasureString을 사용하여 일부 측정을 수행하여 텍스트가 맞는지 확인하고 동적으로 맞춤을 변경해야 할 것으로 판단됩니다.

0

AFAIK 레이블을 스크롤 할 수있는 방법이 없습니다. 해킹은 TextBox (읽기 전용, 경계선 해제)를 사용하고 SendKeys.Send()를 사용하여 커서를 텍스트의 끝으로 이동시키는 것입니다. 같은 뭔가 : 나는 (이 일이 아니었다 않도록)하지만이 경우에는 문제가되지 않을 수는 탭 순서에서 위치의 변경했다 선택된로

 textBox1.Focus(); 
     SendKeys.SendWait("{END}"); 

은 표시하지 않는 텍스트를 얻으려면.