如何将中心对齐图像动态添加到面板?

时间:2012-03-20 20:40:10

标签: c# winforms image position width

我有一个WinForms空面板,我正在动态地向这个面板添加图像。 为了使添加的第一张图像居中,我只是:

  • 获取面板的宽度(WP)并除以2;
  • 获取图像的宽度(WI)并除以2;
  • WP - WI =图像X的左侧位置;

但是,当我有多张图片时,我无法想出一些设置这个位置的方法。有没有办法计算这个X?我这是对的吗?有更简单的方法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

如果你只有一行,有些你可以拥有Image个对象的集合,比如说

List<Image> images

方法

void PositionImages()
{
    int totalWidth = images.Sum(img=>img.Width);
    int startX = (panel.Width - totalWidth)/2;
}

应该对您有用,但您需要检查它。例如,我想这里集合中所有图像的tolalWidth 总是小于panel.Width