引用於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;
}