访问列表中的元素
本文关键字:元素 列表 访问 | 更新日期: 2023-09-27 18:29:34
我在一个表单中生成了8*16个椭圆形。代码是:
for (int i = 0; i < 16; i++)
{
for (int j = 0; j < 8; j++)
{
OvalShape ovl = new OvalShape();
ovl.Width = 20;
ovl.Height = 20;
ovl.FillStyle = FillStyle.Solid;
ovl.FillColor = Color.Transparent;
ovl.Name = "oval" + j + "" + i;
ovl.Location = new Point((ovl.Width * i) * 2, (ovl.Height * j) * 2);
ovalShape.Add(ovl);
}
}
foreach (OvalShape os in ovalShape)
{
Microsoft.VisualBasic.PowerPacks.ShapeContainer shapeContainer =
new Microsoft.VisualBasic.PowerPacks.ShapeContainer();
os.Parent = shapeContainer;
this.Controls.Add(shapeContainer);
}
现在我想以不同的方式访问每个椭圆形。我怎么能这么做?
由于ovalShape
是List<OvalShape>
,因此可以使用索引器访问任何一项:
var anOval = ovalShape[0];
您已经在foreach
循环中以不同的方式访问ovalShape
中的每个椭圆
foreach (OvalShape os in ovalShape)
{
//...
}
否则,您也可以通过索引访问每个椭圆形状,如
var newOvalShape = ovalShape[0];
您已经将控件命名为ovl。Name="oval"+j+"+i;
所以,我认为你可以创建像Dictionary<string , OvalShape> dic
这样的dictionary
然后你可以像一样设置它
//...
ovl.Name = "oval" + j + "" + i;
dic.add(ovl.Name , ovl);
//...
然后,您可以通过其他方法访问该字典,并按其名称进行访问。