Авторезистирование изображения в Winforms

У меня жалкая проблема с окном в winforms. Таким образом, схема документа выглядит так:

  • TableLayoutPanel
    • groupbox1
    • panel1
    • panel2 (AutoSize = true, Dock = Fill, AutoScroll = true)
      • groupbox2 (AutoSize = true, Dock = Fill)
        • picturebox (Dock = Fill, для этого элемента не существует свойства AutoSize)

Важным является panel2 и что в нем. Я загружаю изображение в окно с картинкой, и я хочу изменить его размер (если панель макета таблицы является большой для окна, я хочу, чтобы прокрутка появлялась). Что я делаю неправильно? Теперь картинка всегда имеет размер 0,0, поэтому изображение не видно.

1 ответ

Первое, что в PictureBox есть свойство SizeMode где вы можете установить режим AutoSize.

pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

Во-вторых, когда вы устанавливаете свойство контрольной панели Dock для заполнения, то оно не будет изменяться в соответствии с клиентом. Косвенно размер элемента управления будет установлен в размере его родительской клиентской области. Таким образом, вы должны удалить свойство Dock как для управления PictureBox, так и для GroupBox. потому что свойство панели AutoScroll, которое вы включили, находится в Panel2. Когда размер изображения изменяется, GroupBox также должен быть изменен.

licensed under cc by-sa 3.0 with attribution.