如何循环组控制按钮

时间:2015-05-28 07:43:40

标签: c# winforms

在每一个我有一个包含一个具有47个按钮的组控件的表单所以,我想循环遍历所有按钮并在找到匹配时将每个按钮的文本(button.text)与textbox.text进行比较那个按钮将被禁用..如何帮助请!!!!!

我正在尝试以下代码。

<div class="collapsingHeader">
    <div class="listItemWrapper">
        <div class="itemWrapper">
            <div class="itemImage"></div>
            <div class="itemLabel"></div>
        </div>
        <div class="itemWrapper">
            <div class="itemImage"></div>
            <div class="itemLabel"></div>
        </div>
    </div>
 </div>
<div class="collapsingHeader">
    <div class="listItemWrapper">        
        <div class="itemWrapper">
            <div class="itemImage"></div>
            <div class="itemLabel"></div>
        </div>
        <div class="itemWrapper">
            <div class="itemImage"></div>
            <div class="itemLabel"></div>
        </div>
    </div>
 </div>

2 个答案:

答案 0 :(得分:1)

循环遍历Button的所有Groupbox并设置条件:

foreach (Button btn in groupBox1.Controls.OfType<Button>())
{
    if (btn.Text == textBox1.Text)
        btn.Enabled = false;
}

答案 1 :(得分:0)

    private void myMethod(Control.ControlCollection controls, string text)
    {
        foreach (Control ctrl in controls)
        {
            if (ctrl is Button)
                ctrl.Enabled = ctrl.Text != text;

            if (ctrl.HasChildren)
                myMethod(ctrl.Controls, text);
        }
    }