Как сделать запись/список/просмотр сообщения в С#

Я новичок в C# и работаю над подключаемым модулем менеджера реакций для какого-то более крупного проекта. (Да, я стажер)

Теперь я просто не могу найти способ создать представление, подобное этому:

введите здесь описание изображения

Мой полный дизайн:

введите здесь описание изображения

Как реализовать этот дизайн? Я не могу найти шаблоны по умолчанию в devexpress, которые подходят для этого. Я исхожу из php и в php могу использовать html. Я новичок в С#, и я понятия не имею, как это сделать. Должен ли я использовать холст, чтобы буквально нарисовать это? ИЛИ есть ли стандартный шаблон, который я могу использовать для этой цели.


person botenvouwer    schedule 19.11.2013    source источник
comment
виндформ или впф? или это сеть?   -  person Weyland Yutani    schedule 19.11.2013
comment
Нет, это для отдельного настольного приложения. Я просто экспериментирую с winforms прямо сейчас. Вы знаете какой-нибудь компонент, который я могу использовать?   -  person botenvouwer    schedule 19.11.2013


Ответы (1)


У вас есть много полей для комментариев, которые содержат один и тот же макет — текст комментария метки, имя автора, дату и т. д. Нет элемента управления, который размещает такие вещи, вам придется создать свой собственный элемент управления (Проект-> Добавить пользовательский элемент управления ). Этот элемент управления будет составным элементом управления, т. е. состоящим из других элементов управления. Вероятно, метка для каждого текстового поля (комментарий, автор, дата и т. д.), размещенная в нужных местах. Может быть, назовем его CommentBox или что-то в этом роде.

Теперь в основной форме у вас есть доступные элементы управления CommentBox, которые вы можете добавить в форму. Создайте панель для их размещения, чтобы у вас было много элементов управления CommentBox на панели, по одному для каждого комментария (или, возможно, добавьте их во время выполнения).

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

В WinForms нет StackPanel, но вы можете использовать обычный элемент управления Panel*. Просто вам придется вручную расположить элементы управления CommentBox один под другим. Вам также потребуется установить для свойства AutoScroll значение true, чтобы включить вертикальную полосу прокрутки, если содержимое не соответствует представлению.

*или, по-видимому, есть альтернатива Как я могу получить StackPanel макет в WinForms

person Weyland Yutani    schedule 19.11.2013
comment
Ну, я попробовал со стековой панелью WPF, и это работает для меня. И теперь я вижу код разметки на основе html/xml. Я снова в пути, спасибо. - person botenvouwer; 19.11.2013