2014-01-09 4 views
3

런타임에 그림 상자를 양식에 추가하면 그림 상자가 원하는대로 작동합니다. 하지만 패널에 추가하면 pictureBox가 이미지에 맞게 확장됩니다.PictureBox 이미지가 축소되지 않지만 PictureBox 자체가 이미지에 맞게 확장됩니다.

private PictureBox globalPicBox = (PictureBox)null; 

private void Form1_Load(object sender, EventArgs e) 
{ 
    this.globalPicBox = new PictureBox(); 
    this.globalPicBox.Name = "a"; 
    this.globalPicBox.Tag = (object)"a"; 
    this.globalPicBox.SizeMode = PictureBoxSizeMode.StretchImage; 
    this.globalPicBox.Top = 50; 
    this.globalPicBox.Left = 50; 
    this.globalPicBox.Height = 100; 
    this.globalPicBox.Width = 100; 
    this.globalPicBox.Image = Image.FromFile(@"C:\Users\PC\Downloads\Photo.jpg"); 
    this.globalPicBox.BorderStyle = BorderStyle.FixedSingle; 
    this.globalPicBox.AutoSize = true; 
    this.panel1.Controls.Add((Control)this.globalPicBox); 
} 

문제는 무엇인가 : 다음

코드인가? 그리고 왜?

+5

힌트를 남아 축소하지 않을 것이다 당신의 그림 상자에 맞게 늘릴 것입니다 : 모든 cast's의를 코드 ('(PictureBox), (object), (Control)')는 불필요합니다. – dovid

+3

코드를 실행했는데 제대로 작동합니다. 그림 상자는 100x100px로 유지되고 그림이 아래로 자릅니다. 아마도 코드의 다른 곳에있는 도형 상자를 조정하여 도킹을하거나'AutoSize' 나'SizeMode'를 바꿀 수 있습니까? – noelicus

+0

나는 그것을 밖으로 검사하고 잘 작동했다. 패널의 속성은 무엇입니까? – gnarlybracket

답변

2

편집 결과 ... globalPicBox.AutoSize = false으로 설정하면 효과가 있습니다.
코드 나머지 부분에서 globalPicBoxAutoSize, SizeMode and Dock 매개 변수의 변경 사항을 확인하십시오. 그러면 답변을 찾을 수 있습니다.

0

간단한 그냥 설정 globalPicBox.SizeMode=Strech 이미지는 축소 또는 PictureBox를 크기와 확장하거나 그렇지 않은 질문에 대해, 같은 크기를