【问题标题】:Tag cloud control for WinForms .NET 2.0+WinForms .NET 2.0+ 的标签云控件
【发布时间】:2008-11-10 16:27:04
【问题描述】:

您将如何在 .NET 2.0+ WinForm 应用程序中呈现标签云?

我正在考虑的一个解决方案是使用 WebBrowser 控件并生成一些临时 HTML,但这似乎是一个相当繁重的解决方案。

我错过了更简单的东西吗?

【问题讨论】:

    标签: winforms controls tag-cloud


    【解决方案1】:

    如何创建一个实现 Flow 布局控件的用户控件?您可以为“Add(string tagName)”创建一个动态链接标签并将其添加到 Flow Layout 控件的方法。 Flow Layout 就像 web 一样工作,添加到它的控件按创建顺序放置。

    然后您只需要添加一些逻辑来根据该标签的命中数调整链接标签的大小。

    【讨论】:

      【解决方案2】:

      好吧,您需要一个具有以下主要功能的控件:

      • 可变大小字符串 sn-ps 的自动布局
      • 自动鼠标点击测试

      这些在 WF 控件中有点难以获得。带有 ReadOnly = true 的 RichTextBox 为您提供自动布局,但不提供命中测试。带有 DrawItem 的 ListBox 可以为您提供可变大小的字符串和命中测试,但不是自然布局。

      我想我会使用 RTB 并使用 MouseDown 事件和 GetCharIndexFromPosition() 进行命中测试,在点击的位置读回标签。您需要一些逻辑才能找到单词周围的开始和结束空白。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-27
        • 2018-01-16
        相关资源
        最近更新 更多