Управление облаком тегов для WinForms .NET 2.0+ - PullRequest
2 голосов
/ 10 ноября 2008

Как бы вы визуализировали облако тегов в WinNET-приложении .NET 2.0+?

Одним из решений, о котором я думаю, было бы использование элемента управления WebBrowser и создание какого-то специального HTML-кода, но это, похоже, довольно тяжелое решение.

Мне не хватает чего-то более простого?

Ответы [ 2 ]

2 голосов
/ 17 ноября 2008

Как насчет создания пользовательского элемента управления, реализующего элемент управления макетом Flow? У вас может быть метод «Добавить (string tagName)», который на лету создаст метку ссылки и добавит ее в элемент управления Flow Layout. Макет потока работает так же, как веб, в котором добавленные к нему элементы управления располагаются в порядке создания.

Тогда вам нужно всего лишь добавить логику, чтобы изменить размер метки ссылки на основе количества совпадений для этого тега.

1 голос
/ 10 ноября 2008

Хорошо, вам понадобится элемент управления со следующими основными функциями:

  • Автоматическое размещение фрагментов строки переменного размера
  • Автоматическое тестирование нажатия мыши

Это немного сложно найти в средствах управления WF. RichTextBox с ReadOnly = true обеспечивает автоматическую разметку, но не тестирование попаданий. ListBox с DrawItem может дать вам строки переменного размера и тестирование попаданий, но не естественный макет.

Я думаю, что я бы использовал RTB и заставил бы тестирование совпадений работать с событием MouseDown и GetCharIndexFromPosition (), считывая тег в выбранном месте. Вам понадобится немного логики, чтобы найти начальный и конечный пробел вокруг слова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...