重複の可能性:
名前でC#WinFormsのコントロールを検索する
4つのtextBox(およびボタン)があると想像してください。
textBox 1 :(ここでは、背景を変更するtextBoxの名前を入力する必要があります)
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;
}
そしてそれがすべてです!だから私の質問は:
例に示すように、文字列を「コントロール名」に変換することは可能ですか?