2008-11-10 70 views
2

如何在.NET 2.0+ WinForm應用程序中呈現標籤雲?WinForms .NET 2.0+的標籤雲控件

我正在考慮的一個解決方案是使用WebBrowser控件並生成一些臨時HTML,但這似乎是一個相當沉重的解決方案。

我錯過了更簡單的東西嗎?

回答

1

好了,你會想用這些主要功能的控制:

  • 可變大小的字符串片斷的自動佈局
  • 自動鼠標點擊測試

這些都是有點來之不易由WF控制。具有ReadOnly = true的RichTextBox爲您提供自動佈局,但不是命中測試。帶有DrawItem的ListBox可以爲您提供可變大小的字符串並進行測試,但不是自然佈局。

我想我會使用RTB,並使用MouseDown事件和GetCharIndexFromPosition()進行命中測試,讀取標記點擊位置。您需要一些邏輯來查找單詞周圍的開始和結束空格。

2

如何創建一個實現Flow佈局控件的用戶控件?你可以有一個「Add(string tagName)」的方法,它可以隨時創建一個鏈接標籤並將其添加到流程佈局控件。 Flow Layout的工作方式與Web相同,因爲添加到其中的控件按照創建的順序進行。

然後,您只需添加一些邏輯來根據該標記的命中計數來調整鏈接標籤的大小。