【问题标题】:Change height of all Pictureboxes C#更改所有图片框 C# 的高度
【发布时间】:2017-11-02 18:16:57
【问题描述】:

我在尝试更改项目中所有 PictureBox 的大小时遇到​​了问题。

PictureBox 是这样创建的:

for (int x = 0; x < 2; x++)
                {
                        string filePath = fileEntries[i];
                        string fileName = Path.GetFileName(filePath);
                        int index = Array.IndexOf(fileEntries, filePath);

                        PictureBox image = new PictureBox();
                        image.Text = filePath;
                        image.Top = (int)y * 185 + 8 + 185;
                        image.Left = (int)x * 325 + 9;
                        image.Name = "picbox";
                        image.Click += picbox_Click;
                        image.Image = Image.FromFile(filePath);
                        image.BackColor = Color.FromArgb(0, 0, 110);
                        image.Height = 181;
                        image.Width = 318;
                        image.Padding = new Padding(2);
                        image.Name = "picbox";
                        this.Controls.Add(image);
                    }

然后,当单击一个框时,我想更改窗体上所有图片框的高度、宽度、填充和名称。目前,我正在使用以下代码:

picbox.BackColor = Color.FromArgb(0, 0, 110);
picbox.Height = 177;
picbox.Width = 314;
picbox.Padding = new Padding(0);
picbox.Name = "picboxnew";

这不工作,有谁知道我怎样才能使这个工作?

亲切的问候,

【问题讨论】:

  • 不工作的意思是它不能编译?给出运行时错误?没有(可见的)区别?还有什么?

标签: c# height picturebox


【解决方案1】:

你可以使用 Linq 做到这一点:

var pictureboxes = this.Controls.OfType<PictureBox>().ToList();
foreach (PictureBox pb in pictureboxes)
{
    pb.Height = 500;
    pb.Name = "some_name";
    //etc
}

【讨论】:

  • 有趣 - 为什么这有效但 OP 的代码无效?
  • @doctorlove 我猜是因为没有像 picbox 这样 OP 试图改变的东西......
  • @josap 您可以将答案标记为解决方案以表示感谢:)
  • @nino 我已经解决了,Stackoverflow 之前不允许我这样做,抱歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-04
  • 1970-01-01
  • 1970-01-01
  • 2021-08-06
  • 2020-01-23
  • 2020-04-21
  • 1970-01-01
相关资源
最近更新 更多