Как воспроизвести форум / Twitter-подобный интерфейс на Winform - PullRequest
1 голос
/ 05 июня 2019

Как классический форум, на странице отображаются темы и ответы с темным и светлым и темным и светлым фоном.

Я пытаюсь написать клиент форума на окнах, используя winform.Это

Сначала я попробовал так:

  1. Добавьте большую панель в форму, назовем ее PARENT PANEL.

  2. Добавьте небольшие панели к большой панели, например, так:

        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, а именно:

  1. высота динамическая, потому что изображенияВнутри не будет загружаться, пока не будет нажата.
  2. Текст внутри можно выбрать (я редактировал это только для устранения неоднозначности)
  3. PARENT PANEL может реагировать на колесо мыши,как твиттер, форумы.

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

enter image description here Посмотрите на рисунок, когда текст выделен, вся панель по-прежнему реагирует на колесо (как и обычная веб-страница).Это приложение uwp, и я не уверен, что winform сможет это сделать.

...