Динамический контент в окнах форм - PullRequest
0 голосов
/ 01 февраля 2009

Я работаю над приложением, которое получает контент из каналов в C #. Затем этот контент должен отображаться в форме.

У меня вопрос, какой контроль я должен использовать для хранения этих данных? Должен ли я создавать новый ярлык (динамически) для каждого элемента? Кто-то предложил мне использовать RichTextBox, но этот контент не должен редактироваться.

Если это поможет, я веб-разработчик. Я обычно выводил бы мой контент в HTML и использовал бы заголовки, абзацы и т. Д. Для моего контента. Я смотрю на это неправильно?

Если это кажется очень простым вопросом, возможно, это так. Я очень новичок в Windows Forms.

Спасибо, Росс

Ответы [ 5 ]

1 голос
/ 01 февраля 2009

DataGridView достаточно хорош для этого. Смотрите этот пример. Конечно, вы можете улучшить внешний вид:)

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        List<Item> items = new List<Item>();

        items.Add(new Item("item 1"));
        items.Add(new Item("item 2"));
        items.Add(new Item("item 3"));
        items.Add(new Item("item 4"));


        dataGridView1.DataSource = items;
    }
}
class Item
{
    public string ItemName { get; set; }
    public Item(string name)
    {
        ItemName = name;
    }

}
1 голос
/ 01 февраля 2009

У меня есть поток данных WCF из веб-службы. В приложении Windows Forms я создал пользовательский элемент управления, чтобы показать одну единицу данных. Для каждого блока данных, поступающего из веб-службы, я создаю экземпляр пользовательского элемента управления. Они добавляются вертикально в окно прокрутки. Пользовательский элемент управления позволяет мне стилизовать информацию по мере необходимости, и пользователь может взаимодействовать с контентом с помощью кнопок и т. Д.

1 голос
/ 01 февраля 2009

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

Что это за контент? Стиль (например, шрифты, цвета, ссылки)

1 голос
/ 01 февраля 2009

Вот почему был изобретен WPF. Он намного, намного более гибок в размещении контента на основе разметки в ваших приложениях, чем WinForms. Если вы можете использовать WPF, проверьте это (хотя для этого вам придется пройти курс обучения).

В противном случае вы можете динамически создавать элементы управления метками и помещать их в элементы управления Panel для некоторого управления макетом. Если вы должны использовать WinForms, и вы должны использовать общие элементы управления, придерживайтесь TextBox или RichTextEditor и отключите редактирование на них.

1 голос
/ 01 февраля 2009

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

РЕДАКТИРОВАТЬ: Если вы строго хотите придерживаться Winforms, и чувствуете, что WebBrowser не будет сокращать его, я бы, вероятно, предложил DataGridView. Вы можете разместить там все виды контента, а также изображения и ссылки, и вы можете отключить все виды редактирования. Вы даже можете избавиться от линий сетки, чтобы она не выглядела как сетка.

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