Сложный.Net 2.0 Windows Forms control:с чего начать?

Эмпирическое правило, которое я использую, является регистрацией, когда группа зарегистрированных файлов может быть охвачена единственным комментарием регистрации.

Это должно обычно гарантировать, что регистрации являются атомарными и что комментарии могут быть легко переварены другими разработчиками.

Это особенно верно, когда Ваши изменения влияют на конфигурационный файл (такой как пружинный файл контекста или файл конфигурации распорок), который имеет приложение широкий объем. При создании нескольких 'групп' изменений, прежде чем регистрация, их влияние наложится в конфигурационном файле, заставляя эти 2 группы стать объединенным друг с другом.

5
задан Dave Mateer 7 December 2009 в 21:41
поделиться

4 ответа

Я бы посмотрел в элементах управления TableLayoutPanel и FlowLayoutPanel. Это позволит вам с умеренной легкостью организовать ряд элементов управления по вертикали. Затем я бы создал UserControl, состоящий из метки и 2 кнопок. UserControl будет предоставлять такие свойства, как текст и события, которые отображаются при нажатии кнопки. Для каждой записи в списке вы создадите экземпляр UserControl, назначите текстовое значение и обработаете события щелчка. Экземпляр будет размещен на панели Table / Flow в правильном порядке. Обе эти панели макета позволяют вставлять элементы между другими элементами, поэтому вы можете добавлять / удалять элементы из списка динамически.

Изменить: Учитывая длину того, что вы пытаетесь визуализировать, я бы подумал об использовании DataGridView и сделал бы некоторую настраиваемую визуализацию, чтобы заставить его работать так, как вы хотите. Используя события рендеринга DGV, вы можете объединять столбцы, изменять цвета фона (например, выделять темно-серые линии), включать / выключать кнопки и обрабатывать изменение сетки в режим редактирования для ваших строк, чтобы разрешить изменение или вставку новых значений . Этот метод легко справится с большими наборами данных, и вы можете очень легко привязаться к ним напрямую.

4
ответ дан 14 December 2019 в 13:38
поделиться

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

Теперь вы хотите узнать, с чего начать.

Создайте проект библиотеки элементов управления Windows Forms. Вставьте текстовое поле и кнопку управления.

Код рисования панели предпочтительно должен выполняться с помощью кода. Это можно сделать с помощью обычных команд GDI +.

Изменить:

Вот еще одна идея, которую я практически успешно использовал в своем собственном проекте.

Вы можете использовать элемент управления веб-браузера в приложение и покажите свои данные в виде HTML. Вы можете обновить источник элемента управления веб-браузера на основе ввода в текстовое поле, и нажатие на ссылки в элементе управления веб-браузера даст вам событие, которое вы можете перехватить, чтобы выполнить какое-либо действие. Ваш CSS будет работать.

Я использовал эту технику для создания «рабочего стола» в своем приложении под названием «Программное обеспечение для правильного учета». Людям так понравился рабочий стол, что это одна из самых любимых функций приложения.

2
ответ дан 14 December 2019 в 13:38
поделиться

Вот как бы я это сделал:

Создайте настраиваемый элемент управления. В этом настраиваемом элементе управления разместите ListBox поверх LinkButton, и при нажатии LinkButton вы можете заставить его уступить место TextBox. У ListBoxes верхняя строка будет недоступна для выбора ... вы, вероятно, сможете получить оттуда остальное. Когда вы получите свой список слов, заполните какой-нибудь Scrollable по одному элементу управления для каждого слова:

(foreach String word in words){
   myScrollable.add(new MyComponent(word));
}

Оттуда я не уверен, что вы хотите делать с полями или данными, но это моя первоначальная идея настройки пользовательского интерфейса.

0
ответ дан 14 December 2019 в 13:38
поделиться

Используйте элемент управления WebBrowser и сгенерируйте в нем разметку HTML с помощью DocumentStream или DocumentText.

0
ответ дан 14 December 2019 в 13:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: