C#动态对象创建/修改?

时间:2010-10-25 22:37:50

标签: c#

我可以动态地成功创建对象并动态命名它们。示例:单击画布以创建名为“image1”的图像,单击其他位置,然后创建“image2”等。但之后,如果我想根据名称更改属性,该怎么办?在我的javascript时代,我会getElementById('image1')。style.color = #ffffff;

在c#中怎么样?可以这么说'getElementById()'在哪里?

2 个答案:

答案 0 :(得分:2)

在Winforms中,您可以使用

Control c = Form1.Controls.Find("image1", true);

int i = Form1.Controls.IndexOfKey("image1")
Control c = Form1.Controls[i];

对于WPF,情况有所不同,这个问题看起来在这种情况下可能会有所帮助:How can I find WPF controls by name or type?

答案 1 :(得分:0)

我不知道我是否正确理解你。

通常,使用.NET相关技术,对象都存在于集合中。例如,在Windows窗体项目中,控件放在“Controls”集合中(您可以使用this.Controls访问它)。

那么,如何检索一个特定的对象呢?取决于你在寻找什么。所有对象都有某种属性,可以用作ID。

foreach (Control c in this.Controls)
{
    if (c.ClientID == 'ID than I am looking for')
        performsomeaction();
}