Как сделать автоматическое изменение размера изображения в System.Windows.Forms.SplitterPanel в C # - PullRequest
1 голос
/ 31 марта 2012

У меня есть элемент управления .NET PictureBox, добавленный в панель Windows.Forms.SplitterPanel. Как мне сделать автоматическое изменение размера PictureBox, чтобы он соответствовал SplitterPanel всякий раз, когда я увеличиваю или уменьшаю SplitterPanel с помощью перетаскивания мышью. Ниже приведена часть кода, который у меня есть:

PictureBox ScreenPbx = new PictureBox(); 
ScreenPbx.Size = new System.Drawing.Size(480, 360);
ScreenPbx.SizeMode = PictureBoxSizeMode.StretchImage;
splitContainer.Panel.Controls.Add(ScreenPbx);

У меня есть изображение, встроенное в PictureBox с параметром StretchImage, но PictureBox не «приклеивается» к splitContainer.panel, поэтому, когда я перетаскиваю мышку, чтобы изменить размер панели, она не меняет размер PictureBox внутри нее. Заранее спасибо!

1 Ответ

0 голосов
/ 31 марта 2012

Я предполагаю, что вы загружаете изображение в элемент управления ScreenPbx.

Вместо установки размера PictureBox, попробуйте установить его вместо:

PictureBox ScreenPbx = new PictureBox(); 
ScreenPbx.Dock = DockStyle.Fill;
ScreenPbx.SizeMode = PictureBoxSizeMode.StretchImage;
splitContainer.Panel.Controls.Add(ScreenPbx);

В качестве альтернативы, вы могли быпросто установите якоря:

  pbx.Size = new Size(480, 360);
  pbx.Anchor = AnchorStyles.Left | AnchorStyles.Top | 
               AnchorStyles.Right | AnchorStyles.Bottom;
...