动态创建控件和取值

转载 2007年10月07日 14:48:00

//原帖:http://topic.csdn.net/t/20051019/11/4336067.html
//我只摘下了,对我有用的东西。
//学习动态创建控件和取值的方法


  代码如下:  
   
  for(int   i=0;i<5;i++)  
  {  
  TextBox   tbcz=new   TextBox();  
  tbcz.ID="cz"+i;  
  this.Panel2.Controls.Add(tbcz);  
  }  
   
  用户输入值后,我去对应控件里面的值出错!  
  取值代码:  
  for(int   i=0;i<5;i++)  
  {  
  string   cz_s="cz"+i.ToString();  
  string   cz_t=((TextBox)Page.FindControl(cz_s)).Text.Trim();     //这句出错  
  .......  
  }  

-------------------------------------------------------------------------

4 楼daishengs(横舟摆渡)回复于 2005-10-19 11:48:51 得分 2
我以前是这样用的,你可以修改一下  
                                  private   static   void   FindTextBox(System.Web.UI.Control   oControl,string   ControlID,string   ControlValue)  
                                  {  
                                                  if(oControl.HasControls())  
                                                  {  
                                                                  foreach   (System.Web.UI.Control   oChildControl   in   oControl.Controls)  
                                                                  {  
                                                                                  if(   (oChildControl.ID==ControlID)&&(oChildControl   is   System.Web.UI.WebControls.TextBox))  
                                                                                  {  
                                                                                                  ((System.Web.UI.WebControls.TextBox)oChildControl).Text=ControlValue;  
                                                                                                  //oControl   =   oChildControl;  
                                                                                                  //((System.Web.UI.WebControls.TextBox)oControl).Text=ControlValue;  
                                                                                                  return;  
                                                                                  }  
   
                                                                                  FindDataGrid(oChildControl,ControlID,ControlValue);  
                                                                  }  
                                                  }  
                                  }  
   
                                  public   static   void   SetControl(System.Web.UI.Control   Page,string   ControlID,string   ControlValue)  
                                  {  
   
                                                  FindTextBox(Page,ControlID,ControlValue);  
                                  }

 

-------------------------------------------------------------------------

6 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2005-10-19 11:56:55 得分 2
动态创建控件的语句在什么地方?如果是在Page_Load方法中,
不能放在if(!Page.IsPostBack)块中,
因为动态创建的控件无法正确保存和获取视图状态,
所以页面每次加载都必须重新创建才行。


-------------------------------------------------------------------------

8 楼vzxq(灵感人)回复于 2005-10-19 13:57:53 得分 15
应该是你提交后,找不到动态生成的控件了  
  用这个方法试试  
  TextBox   txt   =   new   TextBox();  
   
  for(int   i=0;i<5;i++)  
  {  
   
  string   cz_t=Request.Form["txt"+i];  
  .......  
  }  


-------------------------------------------------------------------------

12 楼anheizhizi(目标:★★★★★)回复于 2005-10-19 17:01:03 得分 2
生成控件的代码不要写在
if(!Page.IsPostBack)   里或   用Request.Form[ID]   得到 

MFC中动态创建控件

本篇文章介绍了在MFC中怎么动态创建各种控件,以及添加相应的响应事件。 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从对象窗口中拖出所需控件放在对话框中即可,再恰当批...
  • penpenandtongtong
  • penpenandtongtong
  • 2012年09月10日 11:17
  • 1708

PB9.0动态生成控件

在做毕业设计的时候,遇到了用复选框来显示数据库中的信息,但是数量不能确定。因此,需要减低程序显示时和数据库的耦合度,让程序自己可以根据数据库的记录的信息数量变化自动适应。基于该需求用到了动态生成控件。...
  • zhuojiajin
  • zhuojiajin
  • 2014年02月28日 14:07
  • 4745

MFC中动态创建控件以及事件响应实现方法

本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考。具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建...
  • Qsir
  • Qsir
  • 2017年06月07日 12:17
  • 874

duilib 动态创建按钮

最近准备学习新的界面库,感觉MFC开发起来太麻烦。
  • XiaoZuoay
  • XiaoZuoay
  • 2014年11月11日 17:16
  • 3297

【VS开发】动态创建ActiveX控件

bool CCollectDataDlgDlg::CreateMyCtrl(LPRECT lpRect, UINT nID, CWnd *pParent) {  CLSID clsid;  ws...
  • LG1259156776
  • LG1259156776
  • 2016年07月23日 12:52
  • 726

【C++】动态生成控件

动态生成控件 分为以下步骤: 1、建立控件的ID号 ID号是控件的标识,矿建控件之前必须为它设置一个ID号 方法:View-->Resource View-->String T...
  • u010141025
  • u010141025
  • 2015年05月22日 10:25
  • 724

MFC 动态创建Picture Control

一遍关于怎么动态创建PictureControl的文章,有兴趣的可以看一看
  • u012454516
  • u012454516
  • 2015年05月05日 15:16
  • 2175

Delphi7下面关于动态创建控件和释放的个人总结

昨天,一个网友在动态创建控件时释放出了错。他的情况是,动态创建了N个Panel,然后双击Panel就释放掉该Panel。可问题就来了,一释放就出错。然后就一顿讨论。当然也有其他的高手给出了代码,可高手...
  • www1157763637qqcom
  • www1157763637qqcom
  • 2014年01月04日 14:54
  • 3948

Delphi 代码创建控件与事件动态绑定

procedure TForm1.btn3Click(Sender: TObject); var btn2:TButton; begin btn2:=TButton.Create(Self...
  • u010219209
  • u010219209
  • 2015年08月21日 17:15
  • 2706

iPhone开发之动态创建控件(纯代码创建控件)

1、程序的加载过程: (1)当要显示一个界面的时候,首先创建这个界面对应的控制器。 (2)控制器创建好以后,接着就创建控制器所管理的那个View。 (3)当View创建好以后就开始执行viewDidL...
  • u013087513
  • u013087513
  • 2015年08月30日 15:17
  • 945
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态创建控件和取值
举报原因:
原因补充:

(最多只允许输入30个字)