动态添加控件

来源:互联网 发布:黑河龙江网络 编辑:程序博客网 时间:2024/03/29 00:07

//动态初始化题的button和TextBox  一般一行是十个 (最好题的数量取10的倍数)
        private void InitSeats(int seatRow, int seatLine)
        {
            TextBox txt;
            Button btn;

            for (int i = 0; i < seatRow; i++)
            {
                for (int j = 0; j < seatLine; j++)
                {
                    int num = (j * 10) + i;// 根据每行10道题 按从1开始。。。到10*j 结束(用于命名后缀)
                    //设置TextBox控件属性
                    txt  = new TextBox();
                    txt.Font = new System.Drawing.Font("宋体", 10, System.Drawing.FontStyle.Regular,
                        System.Drawing.GraphicsUnit.Point, (byte)(134));
                    txt.Location = new System.Drawing.Point(10, 10);
                    txt.Name = "txtQuestion_" + (num+1).ToString();
                    txt.Size = new System.Drawing.Size(50, 5);
                    txt.Text = questions[num].Choose;
                    txt.Location = new Point(60 + (i * 70), 60 + (j * 80));//动态变化添加控件的位置
                    this.Controls.Add(txt);

                    //设置button控件属性
                    btn = new Button();
                    btn.Tag = num;
                    btn.Font = new System.Drawing.Font("宋体", 10, System.Drawing.FontStyle.Regular,
                        System.Drawing.GraphicsUnit.Point, (byte)(134));
                    //txt.Location = new System.Drawing.Point(10, 10);
                    btn.Name = "btnQuestion_" + (num + 1).ToString();
                    btn.Size = new System.Drawing.Size(50, 20);
                    btn.Text = (num + 1).ToString();
                    btn.Location = new Point(60 + (i * 70), 80 + (j * 80));//动态变化添加控件的位置(比上面的每个像下移动一点)
                    btn.Click += new System.EventHandler(btn1_Click);
                    this.Controls.Add(btn);
                }
            }
        }

原创粉丝点击