这个问题在这里已经有了答案:




8年前关闭。






想象一下,我们有 4 个文本框(和一个按钮):



在我们的第一个文本框中,我们输入任何其他文本框的名称,当我们单击按钮时 - 背景会相应地改变。

通常我会做这样的事情:

private void button1_Click(object sender, EventArgs e)
{
string variableName = textBox1.Text();

if (variableName == "textBox1")
{
    textBox1.BackColor = Color.Black;
}
else if (variableName == "textBox2")
{
    textBox2.BackColor = Color.Black;
}
else if (variableName == "textBox3")
{
    textBox3.BackColor = Color.Black;
}
else if (variableName == "textBox4")
{
    textBox4.BackColor = Color.Black;
}
}

另一种方式 - 更简单的 方式做同样的操作是这样的:
private void button1_Click(object sender, EventArgs e)
{
    string variableName = textBox1.Text();
    variableName.BackColor = Color.Black;
}

就这样!所以我的问题是:

是否可以将字符串转换为“控件名称”,如示例所示?

最佳答案

非常乐观的 方法是

this.Controls.Find("variableName", true)[0].BackColor

关于c# - 在 C# 中将字符串转换为控件名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12055648/

10-10 09:32
查看更多