2012-12-03 4 views
0

나는 Im이 뭔가 분명한 것을 놓치고 있다는 느낌이 들지만, :자동 스크롤을 사용 설정하는 방법은 무엇입니까?

나는 사진이 영원히 계속 될 수있는 형태로 한 줄의 그림을 가지고있다. 사용자가 행의 모든 ​​그림을 볼 수 있도록 스크롤 막대가 필요합니다. 자동 스크롤을 활성화해야한다는 것을 알고 있지만이를 활성화하는 방법을 모릅니다. 누군가 그것을 사용 가능하게 설정하는 방법 또는 내가 누락 된 것을 말할 수 있습니까?

이것이 내가 사진을 생성하기 위해 사용하고있는 코드입니다 도움이된다면 :

private void imagePalletToolStripMenuItem_Click(object sender, EventArgs e) 
    { 

     MyPalletGui.Show(); 

     Dictionary<string,Bitmap> MyPallet = MyImageCollection.ToDictionary(); 
     int xcor = -50; 
     int ycor = 0; 
     foreach (Bitmap curtImage in MyPallet.Values){ 
      PictureBox myPicBox = new PictureBox(); 
      xcor += 50; 
      myPicBox.Location = new Point(xcor, ycor); 
      myPicBox.Width = 50; 
      myPicBox.Height = 50; 
      myPicBox.Visible = true; 
      myPicBox.Image = new Bitmap(curtImage); 
      this.MyPalletGui.Controls.Add(myPicBox); 
+1

자동 방법이 있다고 생각하면 [view ports] (http://support.microsoft.com/kb/186429)를 사용해야합니다. 예를 들어 PictureBox1, 100 x 100을 만들고 하위 사진이있는 PictureBox1을 채우십시오.이 하위 사진이 PictureBox1의 너비를 초과하면 가로 스크롤 막대를 보여줄 필요가 있습니다. –

+0

나는 당신의 말을 듣고 자 노력하지만 더 나은 아직 나에게 예제를 보여줍니다. 도움이된다면 내가 그림을 생성하기 위해 사용하고있는 코드를 추가 할 수 있습니다. –

+0

우리가 원하는 모든 것을 추측 할 수 있습니다. 정확한 문제는 무엇입니까? 양식 안에 그림 상자에있는 그림이 있습니까? 각 그림에 자신의 PictureBox가 있으면 Form의 'AutoScroll'속성을 True로 설정하면 그림 상자가 양식 공간을 초과 할 때 스크롤바가 추가됩니다. 위의 내용이 사실이 아니라면 더 많은 것이 포함됩니다 .. –

답변

2
이 코드는 정확히 당신이 원하는 것을 할 것입니다

, 그것은 자동 스크롤와 뷰포트로 양식을 사용

public Form1() 
{ 
InitializeComponent(); 

PopulatePictures(); 
} 

private void PopulatePictures() 
{ 
this.AutoScroll = true; 

string[] list = Directory.GetFiles(@"C:\\Users\\Public\\Pictures\\Sample Pictures", "*.jpg"); 
PictureBox[] picturebox= new PictureBox[list.Length]; 
int y = 100; 
    for (int index = 0; index < picturebox.Length; index++) 
    { 
    picturebox[index] = new PictureBox(); 
    this.Controls.Add(picturebox[index]); 
    picturebox[index].Location=new Point(index * 120, y); 
    if(x%12 == 0) 
    y = y + 150; 
    picturebox[index].Size = new Size(100,120); 
    picturebox[index].Image = Image.FromFile(list[index]); 
    } 
} 
+0

코드를 사용하면 이미 그 점을 알려드립니다. InitializeComponent(); this.AutoScroll = true; –

+0

@JamesThompson 또한 폼 디자이너의 속성 창을 사용하여 AutoScroll –

관련 문제