引用于http://blog.sina.com.cn/s/blog_9ebee23f0101815b.html
放一个panel,然后把pictureBox是放在panel上的,然后设置如下属性:
-
C# code
-
panel.AutoScroll=true;pictureBox.Location=new Point(0,0);pictureBox.SizeMode=PictureBoxSizeMode.AutoSize;
PictureBox不是容器控件,所以他没有AutoScrollMinSize和AutoScrollPosition两个属性,所以不能直接设置,有3个方案:
1、改为在Panel控件中画:
然后通过设置AutoScrollMinSize属性,设置滚动条的滚动范围,然后滚动的时候刷新图即可(注意此时绘制使用的X,Y坐标,要加上滚动条的滚动值)。
2、自己在PictureBox右边和下面添加两个滚动条。
3、在内存位图上画,然后把位图拷贝到PictureBox控件的Image属性内。
1、改为在Panel控件中画:
然后通过设置AutoScrollMinSize属性,设置滚动条的滚动范围,然后滚动的时候刷新图即可(注意此时绘制使用的X,Y坐标,要加上滚动条的滚动值)。
2、自己在PictureBox右边和下面添加两个滚动条。
3、在内存位图上画,然后把位图拷贝到PictureBox控件的Image属性内。
'把Picture1放在 Picture2 里面 Private Sub Form_Load() VScroll2.Max = Picture1.Height - Picture2.Height HScroll1.Max = Picture1.Width - Picture2.Width HScroll1 = 0 VScroll2 = 0 Picture1.Top = 0 Picture1.Left = 0 End Sub Private Sub HScroll1_Change() Picture1.Left = 0 - HScroll1 End Sub Private Sub VScroll2_Change() Picture1.Top = 0 - VScroll2 End Sub
另: 在sizemode属性用stretchImage可以自动拉伸压缩图片
设置picturebox图片显示模式
if (radioButton1.Checked)
{
pictureBox1.Location = new Point(0, 0);
pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
}
else
{
pictureBox1.Location = new Point(0, 0);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
}