如何在Picturebox上获取滚动条

Ich*_*ann 62 c# scroll scrollbar picturebox winforms

我有PictureBox picture.

我用:

picture.Size = bmp.Size;
picture.Image = bmp;
Run Code Online (Sandbox Code Playgroud)

假设有两个整数maxWidthmaxHeigth.
我希望picture在其大小超过maxWidth和/或时添加垂直/水平滚动条maxHeight.我怎样才能做到这一点?

Bin*_*nil 131

您可以使用PanelControl 轻松完成此操作

将面板插入表单,例如panel1并设置

panel1.AutoScroll = true;

插入PictureBoxPanel,说画面和设定

picture.SizeMode = PictureBoxSizeMode.AutoSize;
Run Code Online (Sandbox Code Playgroud)

并设置图像

picture.Image = bmp;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助

  • 我将添加到binil的答案,如下:图片框必须将锚设置为右侧或底部.将锚设置为右可防止显示水平滚动条.将其设置为底部可防止显示垂直滚动条. (13认同)
  • 迈克,确认pictureBox dock应该设置为None.我将我的设置为Fill并且没有看到任何滚动条,但是当我将其更改为无时,滚动条出现了. (12认同)
  • 这不适合我.没有显示滚动条. (5认同)
  • 这是一个很好的答案,因为如果将面板设置为锚定到窗体,面板将在窗体展开时展开,根据需要显示和隐藏滚动条. (3认同)
  • 我有同样的问题,pictureBox dock设置为None但是如果我将SizeMode设置为AutoSize则没有显示滚动条 (2认同)

smh*_*ker 5

我通过在面板控件中放置一个图片框来使其工作,我将面板的 AutoScroll 属性设置为 true,但我还将面板的 Autosize 属性设置为 True,并将面板的 Dock 属性设置为 Fill(这样当用户调整面板大小时)形式 - 小组也将如此)。对于Picturebox,我将其Dock属性设置为None,将SizeMode设置为Autosize(因此当面板和表单调整大小时它也会调整大小。它的工作方式就像一个魅力,Picturebox有滚动条,当用户调整表单大小时 - 一切都是静止的放置正确!