C# .net大小调整控件赢得';不行?
我有几个图片盒,当窗口大小改变时,它们需要按纵横比调整大小。我假设我可以锚定宽度,但可以手动设置高度(即锚定左、右和上边缘;但不能锚定下边缘)。但是,如果我尝试更改Size属性,我的控件将不会调整大小。那为什么不行呢?如何调整控件的大小C# .net大小调整控件赢得';不行?,c#,.net,winforms,C#,.net,Winforms,我有几个图片盒,当窗口大小改变时,它们需要按纵横比调整大小。我假设我可以锚定宽度,但可以手动设置高度(即锚定左、右和上边缘;但不能锚定下边缘)。但是,如果我尝试更改Size属性,我的控件将不会调整大小。那为什么不行呢?如何调整控件的大小 private void Form1_Resize(object sender, System.EventArgs e) { int oldWidth = 1280; int oldHeight = 1024;
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);
}
用你发布的信息很难确定地回答这个问题 Windows窗体控件问题本质上很难调试,因为所有控件都可能影响您的操作。首先,您需要尝试在一个具有尽可能少的控件的窗体上自己调试它。是否存在调整大小操作正常的情况
也就是说,是否在这些控件上设置了Dock属性?如果设置为DockStyle.Fill,它们肯定不会调整大小。我想您可能会遇到以下几个问题之一:
- PictureBox的
是什么?是SizeMode
,自动调整大小
,还是类似的东西?对于您想做的事情,它可能应该是拉伸图像
正常的
- 您确定锚定设置正确吗
- 您是否调试并检查了要调整大小的图片框的最终大小?您应该验证它是否符合预期,并且表单是否已重新绘制