c# - 在 C# 中将字符串转换为控件名称

标签 c# winforms controls

<分区>

Possible Duplicate:
Find a control in C# winforms by name

假设我们有 4 个文本框(和一个按钮):

textBox1:( Here we must enter the name of the textBox where we want to change background)

textBox2:()

textBox3:()

textBox4:()

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

通常我会这样做:

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/

相关文章:

delphi - 从 RES 文件加载图标后,错误的图标用作默认图标

c# - 是否可以在工作流之外获取 ActivityContext?

c# - 无法检索用户的 TextBox 输入

arrays - 带有控件/实例的 Swift 数组

winforms - visual studio 2012 winforms 新平面布局

c# - 哪种类库适用于 Universal 和 Winform 项目?

c# - ASP.NET 自定义控件 - 复合

c# - OpenFilePicker 在 Windows Phone 8 上不工作(不支持指定的方法)

c# - 我如何创建特定编号的 ListView。 WPF 中的列数?

C# 可以将值类型与 null 进行比较