我有一个C#形式的20个图片框,并将此控件重命名为p1,p2,p3 现在我应该同时显示/隐藏这个控件。 现在我需要一个改变的想法,这比同一个阵列更快地控制perperty。 推进我这个
答案 0 :(得分:0)
如果我理解你写的:
var PB = this.Controls.ofType<PictureBox>();
返回一个IEnumerable
PictureBoxes,包含表单中的所有内容。
foreach (var pb in PB)
pb.Visible = false;
编辑以检查图片框是偶数还是奇数您可以使用以下内容:
String str = pb.name.subString(1);
if (Int32.parse(str) % 2 == 0)
//even
else
//odd
答案 1 :(得分:0)
更简单的方法是将这20个PictureBox添加到Panel
,然后使用其Visible
属性同时显示/隐藏它们。代码可能是这样的:
Panel container = new Panel();
//example, use whatever do you need
container = new Size(100, 100);
container = new Position(0, 0);
//add the panel to the form
this.Controls.Add(container);
//set the pictureboxes here...
//Add the pictureboxes to the panel
container.Controls.AddRange(new Control[]{p1, p2, p3}); //and so on
//Then when you need to show them
container.Visible = true; //false to hide them