C# 字符串转组件名、变量名

时间:2023-03-09 03:21:50
C# 字符串转组件名、变量名

字符串转组件名

(Controls["button1"] as Button).Text = "Hello";//单独组件
(Controls["tabControl1"].Controls[].Controls["DataSource1"] as TextBox).Text = "111.111.111.111";//嵌套组件

字符串转变量名

string str = "demo"; //可以写到下面button1_Click里面,demo就是下面的变量名
public string demo = "Old String";
private void button1_Click(object sender, EventArgs e)
{
//通过字符串获得变量值
MessageBox.Show(this.GetType().GetField(str).GetValue(this).ToString()); //显示Old String
GetType().GetField(str).SetValue(this, "New String");
MessageBox.Show(spp); //显示New String
MessageBox.Show(this.GetType().GetField(str).GetValue(this).ToString()); //显示New String
}

public string Demo = "Old String";
private void button2_Click(object sender, EventArgs e)
{
//通过字符串获得变量值
MessageBox.Show(this.GetType().GetField("Demo").GetValue(this).ToString()); //显示Old String
//通过给变量赋值
this.GetType().GetField("Demo").SetValue(this, "New String");
//新的值
MessageBox.Show(Demo); //显示New String
MessageBox.Show(this.GetType().GetField("Demo").GetValue(this).ToString()); //显示New String
}