2016-12-04 19 views
1

c#6のウィンドウフォームを使用して、タグ "txt"を持つすべてのテキストボックスを選択したいとします。 「txt」というタグが付いているものがいくつかあることを確認しました。それから、私はテキストをクリアしたい。しかし、次のコードは何も選択していません。特定のタグですべてのテキストボックスを選択する方法

this.Controls.OfType<TextBox>() 
      .Where(textBox => textBox.Tag.ToString() == "txt").ToList() 
      .ForEach(textBox => textBox.Clear()); 
+2

を。 - また、 'textBox.Tag.ToString()'の 'NullReferenceException'の可能性に注意してください。 –

+0

どのようなタイプのコントロールが 'this'ですか? – McNets

+0

私はこのコードをGroupBoxes - > foreach(Controls.OfTypeのvar textBox)に持っています。().Where(textBox => textBox.Tag?)== "txt")。SelectMany(groupBox => groupBox .Controls.OfType ())) { textBox.Clear(); } – roncansan

答えて

1

あなたのコードはほとんどの仕事は、この使用:たぶん、彼らは `Form`の直接の子ではなく、あなたには、いくつかの他のコンテナコントロールでそれらを置い

 this.Controls.OfType<TextBox>() 
      .Where(text =>!(text.Tag == null) && text.Tag.ToString() == "txt").ToList() 
      .ForEach(text => text.Clear()); 
+0

ありがとうございます – roncansan

関連する問題