Как классический форум, на странице отображаются темы и ответы с темным и светлым и темным и светлым фоном.
Я пытаюсь написать клиент форума на окнах, используя winform.Это
Сначала я попробовал так:
Добавьте большую панель в форму, назовем ее PARENT PANEL.
Добавьте небольшие панели к большой панели, например, так:
panel1.Visible = false;
for (int i=0; i<5;i++)
{
Panel parent = new Panel();
parent.Height = 800;
Random ra = new Random();
TextBox p = new TextBox();
p.Text = "fehsuifq";
p.Multiline = true;
p.WordWrap = true;
p.Dock = DockStyle.Fill;
parent.BackColor = Color.FromArgb(ra.Next(0, 254), ra.Next(0, 254), ra.Next(0, 254));
p.BorderStyle = BorderStyle.None;
p.ReadOnly = true;
p.TabStop = false;
p.BackColor = this.BackColor;
parent.Controls.Add(p);
parent.Dock = DockStyle.Top;
panel1.Controls.Add(parent);
}
panel1.Visible = true;
Каждая панель (условно, элемент управления) отображает текст потока, изображения и другие детали (например,авторы или аватор).Изображения не отображаются, пока не будет нажата кнопка.когда изображение щелкается, оно загружается, и в результате высота элементов управления будет изменяться.PARENT PANEL будет содержать сотни этих элементов управления, так как будет очень много потоков.Это и должно быть прокручиваемо, очевидно.
Но если я поместил текстовое поле в элемент управления, колесо прокрутки больше не будет работать на PARENT PANEL . Если я использую метку, этоне выбирается.
Я думаю, что этот путь не может быть более глупым, полностью.
Так что я ищу лучшего для этой работы, чтобы отображать сотни или даже тысячи потоков / ответов на winform, а именно:
- высота динамическая, потому что изображенияВнутри не будет загружаться, пока не будет нажата.
- Текст внутри можно выбрать (я редактировал это только для устранения неоднозначности)
- PARENT PANEL может реагировать на колесо мыши,как твиттер, форумы.
Так что я могу использовать колесо прокрутки, чтобы просмотреть все ответы одновременно.Загрузка выполняется в фоновом режиме.
Посмотрите на рисунок, когда текст выделен, вся панель по-прежнему реагирует на колесо (как и обычная веб-страница).Это приложение uwp, и я не уверен, что winform сможет это сделать.