可能的重复:
按名称在 C# winforms 中查找控件 https://stackoverflow.com/questions/4483912/find-a-control-in-c-sharp-winforms-by-name
假设我们有 4 个文本框(和一个按钮):
textBox1:( 这里我们必须输入要更改的文本框的名称
背景)
文本框2:()
文本框3:()
文本框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;
}
就这样!所以我的问题是:
是否可以将字符串转换为“控件名称”,如示例所示?
A 非常乐观方法是
this.Controls.Find("variableName", true)[0].BackColor
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)