*強いテキスト*1.- 配列内でループを実行します
2.- ラベルの名前を使用してラベルを見つけます (ラベルの名前は、配列にある入力文字列と同じであると仮定しました)
3 .- コントロールを無効にする
foreach (string name in yourArray)
{
var matches = this.Controls.Find(name , true);
((Label) matches).Enable = False
}
現在、ここにはコンパイラがありません。動作することを願っています。そうでない場合は、ご理解ください。
編集:彼のテキストプロパティでラベルを見つけます:
foreach(Control c in this.Controls)
{
if(c is Label)
{
if((Label) c).Text == "RequiredText")
{
// Do stuff here ;
}
}
}
ラベルがパネル、グループボックス、またはコンテンツ コントロール内にある場合は、'this' を使用する代わりに contentControl.Controls を使用する必要があることに注意してください。
編集2:わかりました、このコードは私にとってはうまくいきます。「サンプル」というテキストのラベルがあります。
var myarray = "E1,E2,Sample".Split(',');
foreach (Control labelcontrol in this.Controls)
{
if (!(labelcontrol is Label)) continue;
foreach (var text in myarray)
{
if (labelcontrol.Text == text)
labelcontrol.Enabled = false;
}
}