picturebox使用滚动条

引用于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属性内。
 
 
 
 '把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;
            }

你可能感兴趣的:(滚动条)