2009-12-30 5 views
0

나는 창 크기가 바뀌면 화면 비율에 따라 크기를 조절해야하는 몇 개의 그림 상자를 가지고 있습니다. 너비를 고정 할 수 있다고 가정했지만 높이를 수동으로 설정했습니다. 즉, 왼쪽, 오른쪽 및 위쪽 가장자리를 고정하지만 아래쪽은 고정하지 않습니다. 그러나 Size 속성을 변경하려고하면 컨트롤이 크기가 조정되지 않습니다. 왜 그게 효과가 없을까요? 내 컨트롤의 크기를 조정하려면 어떻게해야합니까?.net 크기 조정 컨트롤이 작동하지 않습니까?

private void Form1_Resize(object sender, System.EventArgs e) 
    { 
     int oldWidth = 1280; 
     int oldHeight = 1024; 
     int newWidth = webcamPictureBox.Size.Width; // this is auto-resized w/ window; becomes 591 
     int newHeight = (oldHeight * newWidth)/oldWidth; // this is calculated manually; becomes 472 

     // Control won't resize if I change the Size property 
     // Size property stays the same 
     this.webcamPictureBox.Size = new Size(newWidth, newHeight); 
     this.thumbnailPictureBox.Size = new Size(newWidth, newHeight); 
    } 

답변

0

게시 한 정보로이 질문에 대한 답을 명확히하기가 어렵습니다.

Windows 양식 컨트롤 문제는 수행중인 작업에 영향을 줄 수있는 모든 컨트롤로 인해 기본적으로 디버그하기가 어렵습니다. 먼저, 가능한 한 적은 수의 컨트롤로 폼에서 직접 디버깅 해보는 것이 좋습니다. 크기 조정이 올바르게 작동하는 상황이 있습니까?

그렇다면 이러한 컨트롤에 Dock 속성이 설정되어 있습니까? DockStyle로 설정된 경우에는 크기가 조정되지 않습니다. 채우기.

1

당신은 몇 가지 문제 중 하나를 실행 할 수 있습니다, 나는 가정 :

  • 가있는 PictureBox의 SizeMode을 무엇입니까? AutoSize, StretchImage 또는 이와 비슷한 것입니까? 당신이하고 싶은 일은 아마도 Normal이어야합니다.

  • 고정 장치를 올바르게 설정 했습니까?

  • 크기를 조정하려는 그림 상자의 최종 크기를 디버그하고 확인 했습니까? 예상 한 내용이고 양식이 다시 그렸는지 확인해야합니다.

이들은 몇 가지 아이디어입니다. 귀하의 코드는 훌륭한 응답을 제공하기에 충분하지 않습니다.

0

아이디어에 감사드립니다 - 그들은 나를 올바른 길로 인도했습니다! 그들이 가지고 있던 TableLayoutPanel이 크기를 제한한다는 것을 제외하고는 모든 것이 원래대로 설정되었습니다. 필자는 그림 상자의 크기 값을 런타임 및 디자이너 모두에서 편집 할 수 없다는 사실을 알게되었습니다.

그래서 TableLayoutPanel의 AutoSize를 true로 설정하면 멋지게 작동합니다!

관련 문제