日期:2014-05-19  浏览次数:20981 次

在线急等,求大家帮帮忙。是个小问题,大侠一看就知道,字符串转具体对象的问题
请问:   字符串的内容如何转化成具体的对象名称?
      是这样的,比如在窗体上有个Button按钮的实例,其名称(name)为but3
现在我在代码中通过字符串组合成这个对象的名称,问题是如何可以调用这个具体的对象的属性和方法。     事例代码如下:
      在另一个按钮的Click事件中写:

      string   str1= "but ";
      string   str2= "3 ";
      string   str=str1+str2;
      现在问题是:   我想用这个str调用那个已有的button对象,就是前面说的名称叫but3的那个。
      如要使   but3.text= "abcde”
      现在我用这个组合出的字符串str怎么可以代替?
      str.text= "abcde ";       这肯定是不成的,请高手赐教,我的系统中好几个地方都有这个问题要解决。多谢大家了

------解决方案--------------------
//测试通过

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show( "aa ");
}

private void button2_Click(object sender, EventArgs e)
{
string str = "button " + "1 ";
((Button)(this.Controls.Find(str, true)[0])).PerformClick();
}
------解决方案--------------------
简历内存数组按控件索引顺序初始化该数据 node1,node2,node3.....node300
访问的时候根据数组下标获取对应的控件