.net里动态生成控件数组

类别:.NET开发 点击:0 评论:0 推荐:
从BASIC开始接触开发的占到了绝大多数,而使用VB起家开始接触win开发也是占了绝 大多数,从vb到vb.net变化确实不小,以前用的很多的控件数组在.net里却没有了,但是费点时间就OK了,这个是我的一个程序里用到的,今天把这 个类贴上来,这个是很早以前从MSDN上看到的,根据他讲的来做的。

//*********************************
//动态增加,删除数组控件
//做课题设计的同学可以引用这个类
//范维肖
//*********************************
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);
            }
        } 
    }
}

本文地址:http://com.8s8s.com/it/it42155.htm