高手请看:
winform程序 现根据需求界面上有一个数字选框,下面一个tabcontrol,要求用户填入数字后动态添加tabpage,而且每个上面有两个textbox,这个目前做到了,问题是当用户点确定按钮时如何来获取这些个动态生成的tabpage里的textbox的值。

解决方案 »

  1.   

    遍历整个tabcontrol中的textbox控件, 如果该textbox控件是指定tappage页的子控件, 则获取它的值.
      

  2.   

    //问题是当用户点确定按钮时如何来获取这些个动态生成的tabpage里的textbox的值。随便使用一个IList<TabPage>类似的集合类保存你动态添加的这些TabPage,最好给它们编个号
    回头从这个集合类里取...同理,那些个TextBox也可以放到一个集合类里
    关键就是你动态创建的时候保存对它们的引用,因为你后边要用它们...
      

  3.   

    foreach(TabPage tabPage in tabcontrol.TabPages)
    {
      foreach(Control c in tabPage.Controls)
          {
        if(c is TextBox)
         string s = c.Text;
    }
    }
      

  4.   

    TabControl有一个TabPages属性,包含它的所有TabPage。
    TagPage有一个Controls属性,包含它的所有子控件。
    可以枚举这些子控件,如果是TextBox的话,取它的值。
      

  5.   

    你在给这些textbox命名时,采取一定的规则,那么你在读取这些textbox的时候可以按照你定的规则加以区别
      

  6.   


    在你没有存引用的情况下用遍历,
    如果你都存了引用了,基本上是直接拿来用了,都不用遍历好不好
    用Directory<T,K>泛型类,key存编号,value存引用
      

  7.   

    我刚开始是想重写一个tabpage类,加两个textbox上去,用户动态添加的时候,就添加这个tabpage,然后取数据就直接用属性取了。不知道这样可行不可行?