当按下一个按键buttion是将用代码添加了一个按钮buttion1和一个textbox1。
要实现功能:按下按键buttion1,将textbox1里面的内容(生成后再键盘输入的值)赋值到全局字符串stringg.
出现问题:1、在添加该两控件之前,他们的命名和事件还不存在;
            2、通过btn.Click += new EventHandler(bu_click);时,click事件中不能直接采用textbox字样,(没定义)

解决方案 »

  1.   


    private Control FindSubControl(Control container, string name)
            {
                foreach (Control c in container.Controls)
                {
                    if (c.Name == name)
                    {
                        return c;
                    }
                }            return null;
            }
      

  2.   

    不太会用,把你这代码加上去了,还写了            string gg = "button10",m;
             m=FindSubControl(button2,gg); //开始查找其中其他按键是通过button2来生成的,但是不行,其返回的M始终是0值........
      

  3.   

    我不知道你一共要用代码添加多少个Button,如果不多的话,个人觉着还是一开始就定义好,到需要时用show()方法显示出来,用完了再Hide()。
      

  4.   

    不太会用,把你这代码加上去了,还写了            string gg = "button10",m;
             m=FindSubControl(button2,gg); //开始查找其中其他按键是通过button2来生成的,但是不行,其返回的M始终是0值........这是用字符串类型去存控件? 
    先确定是否为Name赋值了,然后可以用Controls.Find的方法去找,
    如:Control c=this.Controls.Find("button1",true).FirstOrDefault();
      

  5.   

    不太会用,把你这代码加上去了,还写了            string gg = "button10",m;
             m=FindSubControl(button2,gg); //开始查找其中其他按键是通过button2来生成的,但是不行,其返回的M始终是0值........这是用字符串类型去存控件? 
    先确定是否为Name赋值了,然后可以用Controls.Find的方法去找,
    如:Control c=this.Controls.Find("button1",true).FirstOrDefault();

    不好意思,这位老师,本人不是很业余,还是不太懂,你可以写一个类似的程序完全附上吗?(只要通过一个按键无限添加一组按键和textbox,并且新添加的按键可以对textbox操作)发到qq也行,[email protected]
      

  6.   

    panel1.Controls.Add(new Button{Text="xxx"});
    panel1.Controls.Add(new TextBox{Text="xxx"});
      

  7.   

    1.可以添加自定义控件,包含 button 和TextBox,然后在该自定义控件中添加自定义事件,该事件的返回值是一个字符串,在Button Click时激发,在外部注册调用,获取到值赋给全局变量。
    2.button1 textBox1有一个对应关系,需要将该对应关系记录(字典?List?),然后定义一个buttonClick公用的事件回调方法,在该方法中 sender确定是哪个按钮控件,然后从记录列表中找到TextBox,获取值
    ……
    能实现的方法有多种,根据需要选择
      

  8.   

    buttion1和一个textbox1写到一个组件里在组件里边声明一个委托事件之后再Button的事件里添加这个组件,同事订阅委托