C# 如何将“居中对齐”图像动态添加到面板?

C# 如何将“居中对齐”图像动态添加到面板?,c#,winforms,image,position,width,C#,Winforms,Image,Position,Width,我有一个WinForms空面板,我正在动态地将图像添加到此面板。 要居中添加的第一个图像,我只需: 获取面板的宽度(WP)并除以2 获取图像的宽度(WI)并除以2 WP-WI=图像X的左侧位置 但当我有一张以上的图片时,我想不出一些简单的方法来设置这个位置。有没有办法计算这个X?我说的对吗?有没有更简单的方法 谢谢。如果你只有一行,你可以在其中收集图像对象,比如 列出图像 方法 void PositionImages() { int totalWidth = images.Sum(i

我有一个WinForms空面板,我正在动态地将图像添加到此面板。 要居中添加的第一个图像,我只需:

  • 获取面板的宽度(WP)并除以2
  • 获取图像的宽度(WI)并除以2
  • WP-WI=图像X的左侧位置
但当我有一张以上的图片时,我想不出一些简单的方法来设置这个位置。有没有办法计算这个X?我说的对吗?有没有更简单的方法


谢谢。

如果你只有一行,你可以在其中收集
图像
对象,比如

列出图像

方法

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

应该对你有用,但你需要检查一下。例如,我在这里假设集合中所有图像的
tolalWidth
总是小于
panel.Width

,这就是WPF诞生的原因:)感谢anwser@Grant。没有,只有一排。