我在这里问一个问题,因为我不确定如何在谷歌中搜索它,我不知道怎么称呼它。
我的意思是一个“零点”,它基本上位于元素的左上角,作为示例的pictureBox。因此,当我为pictureBox设置新的宽度和高度属性时,它工作正常,但它相对于左上角。
我的意思是你有了pictureBox,让我们说100 x 100,你希望将它减少到50 x 100,这样你的照片框下面就会得到“空白空间”,而不是鞋面。 PictureBox从这个左上角零点开始计算它的属性。
我需要的是将这一点改为另一个角落 因此,当我改变自己的身高时,它会倒数,而不是下降。请帮帮我。
我真的希望你能理解我。
哇,谢谢你们的意见!我测试了锚属性,Top + = 50;现在,并没有解决我的问题。让我试着用另一种方式来描述它。你有一个图像(100像素),底部是草50px,顶部是天空50px。所以你有高度为100的图片框。如果你设置pictureBox.height = 50;你会看到只有天空。但我只需要留下草。我在这里看到的主要问题是因为这个零点位于左上角。以下是一个例子:
Button1点击事件:
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Height = 150;
}
按下按钮后会得到的结果:
但我需要另一个结果:
据我了解,因为高度属性从左上角开始计算。因此,如果我将其更改为左下角或右下角,它将按我需要的方式工作。请帮助我改变这一点......
MSDN参考:http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode(v=vs.71).aspx
此属性的有效值取自PictureBoxSizeMode枚举。默认情况下,在PictureBoxSizeMode.Normal模式下,图像放置在PictureBox的左上角中,并且图片框的任何太大部分都会被剪裁。使用PictureBoxSizeMode.StretchImage值会导致图像拉伸以适合PictureBox。
答案 0 :(得分:0)
除非您使用的是自动处理控件布局的容器,否则您必须自己移动它。我假设您正在使用如下行来调整代码中的控件:
myPictureBox.Height = 50;
您还必须将控件的位置向下移动相同的数量:
myPictureBox.Top += 50;
概括,这样的事情应该是调整高度的技巧:
void ResizeHeightFromBottom(this Control c, int newHeight)
{
var oldBottom = c.Bottom;
c.Height = newHeight;
c.Top = oldBottom - newHeight;
}
我将继续调整宽度,同时作为读者的练习,以及指定任意参考点。