0

foreachでwinformのテキストボックスのすべてのボーダースタイルを変更するにはどうすればよいですか

または、すべてのテキストボックスをリストして変更するよりも短いもの。

4

3 に答える 3

2

フォームのコントロールを反復処理できます。

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);
于 2013-09-18T06:47:02.057 に答える