我正在使用面板在Windows窗体中显示图像 我在Panel_Paint事件的面板中绘制图像,如下所示:
Graphics g = panel1.CreateGraphics();
Image im = new Bitmap(@"../../Data/#3_Page2.PNG");
g.DrawImage(im,new Point(10,10));
现在,图像按照我的预期绘制,图像底部的某些部分不显示,因为它的高度大于表格高度。 我现在添加了VScrollBar。如何在VScrollBar的帮助下使该面板查看图像的其余部分。
答案 0 :(得分:5)
您可以将PictureBox与SizeMode设置为Panel的AutoSize和AutoScroll属性。这样,如果需要,面板应该添加滚动条。
PictureBox pictureBox = new System.Windows.Forms.PictureBox();
pictureBox.Image = new Bitmap(@"../../Data/#3_Page2.PNG");
pictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
panel.AutoScroll = true;
panel.Controls.Add(this.pictureBox);
答案 1 :(得分:3)
此解决方案有效,但是如果您的图像足够大,滚动时会有一点闪烁(但这是可以接受的)。首先,您必须在面板右侧添加VScrollBar
,并在面板底部右下方添加HScrollBar
。此演示要求您有VScrollBar
名为vScrollBar1
且HScrollBar
名为hScrollBar1
,Button
名为buttonOpenImage
,以允许用户打开某些图片,名为Panel
的{{1}}用作绘制图像的主要区域:
panel1