Создание Scroll в splitpanel или tablelayoutpanel в C # - PullRequest
0 голосов
/ 27 августа 2018

Using tablelayoutPanel

Result of tablelayoutPanel: My labels go out of the screen when i dock them at bot

Using Splitpanel

Result of Split Panel:Messages are overflowed but not creating scroll

  • 1-е изображение: использование tablelayoutPanel
  • 2-е изображение: результат tablelayoutPanel: мои ярлыки исчезают с экрана когда я пристыковываю их к боту
  • 3-е изображение: использование Splitpanel
  • 4-е изображение: результат разделения панели: сообщения переполнены, но нет создание свитка

Итак, я создаю BOT, который отвечает в соответствии с вопросом пользователя, делая это, я создаю две метки, одну из которых печатаю вопрос пользователя справа и печатаю ответ BOT слева, при этом я хочу прокрутить как панель Переполнение, но, к сожалению, или, возможно, отсутствие моего подхода, я не могу сделать это, когда прикрепляю ярлык внизу вот код моих ярлыков (я новичок в c # любезно игнорировать детские вещи)

Левая сторона (бот):

Label label = new Label();
        label.Size = new Size(35, 20);
        label.Font = new Font("Microsoft Sans Serif", 8F);
        label.Text = "IceFrog : I am unable to understand you try expressing in other way";
        label.RightToLeft = RightToLeft.No;
        splitContainer1.Panel1.RightToLeft = RightToLeft.No;
        //label.BorderStyle = BorderStyle.Fixed3D;
        // label.BackColor = Color.LightBlue;
        label.Dock = DockStyle.Bottom;
        splitContainer1.Panel1.Controls.Add(label);

ПРАВАЯ СТОРОНА (человек):

        Label label = new Label();
        label.Size = new Size(35, 20);
        label.Font = new Font("Microsoft Sans Serif", 8F);
        label.Text = "Human : "+textBox1.Text;
        label.RightToLeft = RightToLeft.No;
        splitContainer1.Panel2.RightToLeft = RightToLeft.No;
        label.TextAlign = ContentAlignment.BottomRight;
        //label.BorderStyle = BorderStyle.Fixed3D;
        // label.BackColor = Color.LightBlue;
        label.Dock = DockStyle.Bottom;
        splitContainer1.Panel2.Controls.Add(label);

1 Ответ

0 голосов
/ 28 августа 2018

Изменить AutoScrollMinSize для каждой панели

this.splitContainer1.Panel1.AutoScrollMinSize = new Size(1, 0);
this.splitContainer1.Panel2.AutoScrollMinSize = new Size(1, 0);

Кроме того, вы можете сделать то же самое с помощью дизайнера

image

Чтобы сохранить добавленные элементы видимыми (внизу), добавьте эти строки в свои коды

 splitContainer1.Panel1.VerticalScroll.Value = splitContainer1.Panel1.VerticalScroll.Maximum;
 splitContainer1.Panel2.VerticalScroll.Value = splitContainer1.Panel2.VerticalScroll.Maximum;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...