当前位置:编程学习 > C#/ASP.NET >>

C#窗体动态生成控件?用循环语句

我在FORM中动态生成9个textbox和Label控件而且要位置平均分配。
不用按钮事件,用一个文本框输入生成个数后才生成控件。
请问高手如何做? --------------------编程问答-------------------- //动态增加,删除数组控件 
//做课题设计的同学可以引用这个类 
//范维肖 
//********************************* 
namespace gradeSystem 

//************************** 
//类textBoxArray实现了动态增加和删除 
//textBox的功能 
//************************** 
public class textBoxArray:System.Collections.CollectionBase 

private readonly System.Windows.Forms.Form HostForm; 
//构造函数 
public textBoxArray(System.Windows.Forms.Form Host) 

HostForm=Host; 

//addNewTextBox方法添加一个textbox控件 
public void addNewTextBox() 

if(this.Count<7) 

//建一个新的textbox实例. 
System.Windows.Forms.TextBox aTextBox=new System.Windows.Forms.TextBox(); 
//将其添加到集合的内部列表 
this.List.Add(aTextBox); 
//将TextBox添加到由HostForm字段引用的窗体的集合列表中 
HostForm.Controls.Add(aTextBox); 
//设置初始属性 
aTextBox.Left=(Count-1)*130+70; 
aTextBox.Top=160; 
aTextBox.Width=120; 
aTextBox.BorderStyle=System.Windows.Forms.BorderStyle.FixedSingle; 
aTextBox.Font=new System.Drawing.Font("Verdana", 40, System.Drawing.FontStyle.Bold); 
aTextBox.Tag=this.Count; 
//初始值 
aTextBox.Text="9.9"; 
aTextBox.ForeColor=System.Drawing.Color.Red; 



//创建索引 
public System.Windows.Forms.TextBox this [int index] 

get 

return (System.Windows.Forms.TextBox)this.List[index]; 


//Remove方法用来删除控件 
public void Remove() 

if(this.Count>0) 

HostForm.Controls.Remove (this[this.Count -1]); 
this.List.RemoveAt(this.Count-1); 




--------------------编程问答-------------------- 谢了哈, --------------------编程问答-------------------- 不客气 --------------------编程问答-------------------- 这个好像msdn里有例子,就是自动产生控件的。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,