문제

(스톡 C# treeview를 사용하여) 멀티 린 트린 노드를 갖기 위해 가능합니까?

또한 Treenode의 텍스트에 제어 문자를 추가 할 수 있습니까? 트린 노드에 열을 추가하여 동일한 효과를 얻을 수 있습니다. 이게 가능해?

도움이 되었습니까?

해결책

나는 이것이 최소한 자신의 노드를 그리지 않고 Winforms를 사용하여 가능하다고 생각하지 않습니다. 그러나 "소유자가 그린"Treenode를 사용하여 Winforms에서이를 달성 할 수는 있지만 모르겠습니다.

그러나 이것은 WPF로 기본적으로 지원됩니다.

다른 팁

귀하가 ASP.NET 또는 WinForms에 있는지 여부는 귀하의 질문에서 분명하지 않습니다. ASP.NET에 있다면 프리 태그를 사용하여 서식을 얻을 수 있습니다 ...?

그게 당신이 예를 들어 볼 수있는 Ra-Ajax treeview 여기 ASP.NET의 내장 트리 뷰보다 우수한 중재 금액 및/또는 그 안에 컨트롤을 가질 수 있습니다. (면책 조항; 나는 Ra-Ajax와 함께 일합니다)

이를 통해 TreeView의 내용을 원하는대로 정확하게 포맷 할 수 있습니다. 당신이 완전히 맹렬하게 가면 공간이나 그와 비슷한 것이 너무 많기 때문에 "디스플레이 아티팩트"를 만들 위험이 여전히 남아 있습니다 ...

Treenode 내부에서 표제를 효과적으로 사용하는 것은 불가능합니다. 어쨌든, 나는 해결 방법이있다 :

글꼴 "Consolas"는 각 문자의 공간이 동일하므로 빈으로 쉽게 공간을 가질 수 있습니다. 이 메소드 getemptyinfobyIndex는 지정된 길이가 될 때까지 간격을 채우기 위해 커스텀 렌지 공백을 반환합니다. 여기 = 20.

mynode.NodeFont = new System.Drawing.Font("Consolas", 9,FontStyle.Regular);

string displaytext = String.Format(CultureInfo.InvariantCulture, "{0}{2} = {1}", mystringOfDifferentLenght, myresult, GetEmptyInfoByIndex(mystringOfDifferentLength, 20));
mynode.Text = displaytext;
rootnode.Nodes.Add(mynode);

private string GetEmptyInfoByIndex(string _string, int maxLength)
    {
        string retstr = string.Empty;
        for (int i = 0; i < maxLength - _string.Length; i++)
        {
            retstr += " ";
        }
        return retstr;
    }

여기 증거!

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