foreachでwinformのテキストボックスのすべてのボーダースタイルを変更するにはどうすればよいですか
または、すべてのテキストボックスをリストして変更するよりも短いもの。
フォームのコントロールを反復処理できます。
foreach(Control c in myForm.Controls)
{
if(c is TextBox)
{
((TextBox)c).BorderStyle = yourStyle;
}
}
編集
TextBoxes (パネル、tabControls、ecc など) を含むことができるいくつかのコンテナーがある場合は、再帰的に繰り返すことができます。
private void checkControl(Control control)
{
foreach (Control c in control.Controls)
{
var textBox = c as TextBox;
if (textBox != null)
textBox.BorderStyle = BorderStyle.FixedSingle;
else
checkControl(c);
}
}
最初にメソッドを次のように呼び出します。
checkControl(this);