문제

나는 때로는 라벨 컨트롤에 맞지 않기에 충분히 긴 문자열을 연결하고 있습니다. 항상 오른쪽으로 자동 스크롤하여 항상 문자열의 끝을 볼 수 있습니까?

도움이 되었습니까?

해결책

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

텍스트가 끝에 타원 (...)으로 트리밍하고 레이블에 툴팁을 표시하지 않겠습니까?

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

이제 툴팁은 사용자가 묶을 때 전체 텍스트를 표시합니다. 레이블의 텍스트가 자르고 타원으로 끝나기 때문에 사용자는 더 많은 정보를 얻으려면 호버링해야합니다 (일반적으로 표준 방식).

다른 팁

그만큼 TextAlign 속성을 사용하면 정렬을 지정할 수 있습니다. 이것으로 오른쪽으로 정당화되면 텍스트의 오른쪽이 항상 보입니다. 그러나, 당신이 그것을 왼쪽이나 중앙에 정당화하고 여전히 설명하는 행동을 원한다면, 나는 당신이 사용하여 약간의 측정을 수행해야한다고 생각합니다. Graphics.MeasureString 텍스트가 적합한 지 확인하고 정렬을 동적으로 변경합니다.

Afaik 라벨을 스크롤 할 방법이 없습니다. 해킹은 텍스트 상자 (읽기 전용, 끄기 테두리)를 사용한 다음 sendkeys.send ()를 사용하여 커서를 텍스트 끝으로 이동시키는 것입니다. 같은 것 :

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

선택한대로 텍스트가 표시되지 않도록하려면 탭 순서에서 위치를 변경해야했지만 (1이 아니었지만) 귀하의 경우에는 문제가되지 않을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top