2008-11-10 2 views
2

.NET 2.0+ WinForm 응용 프로그램 내에서 어떻게 태그 클라우드를 렌더링하겠습니까?WinForms .NET 2.0+ 용 태그 클라우드 컨트롤

내가 생각하고있는 한 가지 해결책은 WebBrowser 컨트롤을 사용하고 일부 임시 HTML을 생성하는 것이지만 꽤 무거운 해결책 인 것 같습니다.

더 간단한 것이 누락 되었습니까?

  • 자동 마우스가 그 와서 하드 조금 있습니다 테스트
  • 명중 가변 크기 문자열 조각의

    • 자동 레이아웃 :

    답변

    1

    글쎄, 당신은 이러한 주요 기능을 컨트롤을 할 것입니다 WF 컨트롤에서. ReadOnly = true 인 RichTextBox는 자동 레이아웃을 제공하지만 히트 테스트는 제공하지 않습니다. DrawItem이있는 ListBox는 가변 크기의 문자열과 히트 테스트를 제공하지만 자연스러운 레이아웃은 제공하지 않습니다.

    RTB를 사용하고 MouseDown 이벤트 및 GetCharIndexFromPosition()으로 작업 테스트를 수행하여 클릭 한 위치에서 태그를 다시 읽는 것으로 생각합니다. 단어 주위에 시작 및 끝 공백을 찾으려면 약간의 논리가 필요합니다.

    2

    흐름 레이아웃 컨트롤을 구현하는 사용자 정의 컨트롤을 만드는 방법은 어떻습니까? 즉석에서 링크 레이블을 만들고이를 흐름 레이아웃 컨트롤에 추가하는 "Add (string tagName)"메서드를 사용할 수 있습니다. 흐름 레이아웃은 웹과 마찬가지로 작동합니다. 추가 된 컨트롤은 생성 순서대로 배치됩니다.

    그런 다음 해당 태그에 대한 조회수에 따라 링크 라벨의 크기를 조정하기위한 로직을 추가하기 만하면됩니다.