控件名称获取与设置

private void button6_Click(object sender, EventArgs e)
{
  this.listBox1.Items.Clear();

  FieldInfo[] FieldInfos = this.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public);

  foreach (FieldInfo theFieldInfo in FieldInfos)
  {
    PropertyInfo thePropertyInfo = theFieldInfo.FieldType.GetProperty("Text");

    if (thePropertyInfo == null) continue;

    string ctrlName = theFieldInfo.Name;
    string className = theFieldInfo.FieldType.ToString();
    string oldValue = thePropertyInfo.GetValue(theFieldInfo.GetValue(this), null).ToString();
    string newValue = "昆山";


    string Line1 = string.Format("类名={0} \t控件名称={1}", className, ctrlName);
    string Line2 = string.Format("老值={0} \t新值={1}", oldValue, newValue);
    this.listBox1.Items.Add("");
    this.listBox1.Items.Add(Line1);
    this.listBox1.Items.Add(Line2);

    thePropertyInfo.SetValue(theFieldInfo.GetValue(this), "玉", null);
  }
}

posted on 2016-09-17 20:44  LongHuaiYu  阅读(236)  评论(0编辑  收藏  举报