【问题标题】:How can I keep center align images added dynamically to a panel?如何保持动态添加到面板的中心对齐图像?
【发布时间】:2012-04-05 09:05:45
【问题描述】:

我有一个 WinForms 空面板,我正在向该面板动态添加图像。 要将添加的第一张图片居中,我只需:

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

但是当我有多个图像时,我无法找到一些动态的方法来设置这个位置。有没有办法计算这个 X ?我是对的吗?有没有更简单的方法?

谢谢。

【问题讨论】:

  • 这就是 WPF 诞生的原因:)
  • 感谢@Grant 的回答。不,只有一排。

标签: c# winforms image position width


【解决方案1】:

好吧,如果你只有一行,那么在某些地方你可以拥有Image 对象的集合,比如说

List<Image> images

和方法

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

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

【讨论】:

    猜你喜欢
    • 2011-12-01
    • 2023-03-22
    • 2023-03-15
    • 1970-01-01
    • 2012-07-20
    • 2013-05-27
    • 1970-01-01
    • 2012-07-18
    • 2021-06-19
    相关资源
    最近更新 更多