返回首页

Windows窗体应用程序:我有一个问题,创建一个变量来检查是否仍是一个按钮上的形式,或者如果它已被删除,以打开另一种形式......请帮助。
这里是按钮的代码片段:

private void button6_Click(object sender, EventArgs e)

        {

            button6.Text = "4";

            if (t == "")

            {

                t = button6.Text;

            }

            else

            {

                if (w == "")

                {

                    w = button6.Text;

                    if (w == t)

                    {

                        this.Controls.Remove(button7);

                        this.Controls.Remove(button6);

                    }

                    else

                    {

                        foreach (Control ctrl in this.Controls)

                        {

                            if (ctrl is Button)

                            {

                                ctrl.ResetText();

                            }

                        }

                    }

                }

                else

                {

                    w = "";

                    t = "";

                    t = button6.Text;

                }

            }

        }

回答

评论会员:游客 时间:2012/02/04
如果按钮是一个形式的直接子:{C}否则,你将需要一个递归方法:codeprelang="c#"spanclass="code-keyword"public/spanspanclass="code-keyword"bool/spanIsButtonFound(Controlctl,Buttonbtn){spanclass="code-keyword"if/span(!ctl.HasChildren){spanclass="code-keyword"return/spanspanclass="code-keyword"false/span;} spanclass="code-keyword"foreach/span(Controlchildspanclass="code-keyword"in/spanctl.Controls){spanclass="code-keyword"if/span(child==btn){spanclass="code-keyword"return/spanspanclass="code-keyword"true/span;}spanclass="code-keyword"if/span(IsButtonFound(child,btn)){spanclass="code-keyword"return/spanspanclass="code-keyword"true/span;}} spanclass="code-keyword"return/spanspanclass="code-keyword"false/span;}/pre/code这看起来走的控制层次结构,直到它找到的按钮(此时所有递归调用返回true,所有的方式根电话),或直至它运行的控制
米卡Wendelius
评论会员:游客 时间:2012/02/04
所以你要知道,如果一个表单上的控制存在的基础上它的名字?如果是这样的话,我想一个简单的方法是使用ContainsKey方法。是这样的:{体C3}
Naerling
评论会员:游客 时间:2012/02/04
Mika的答案似乎是完美的罚款。虽然这是一种替代。在去除你的按钮时,你可以设置一个布尔字段。以后你只需要检查它是否是真的还是假的。{的C4}