我想以编程方式创建新表单然后添加控件和事件C#

时间:2016-08-25 06:03:30

标签: c# .net forms

我想以编程方式创建表单,然后为其添加控件并处理这些控件上的点击事件, 如点击按钮应显示对文本框的影响

namespace formwizard
{
    public partial class Form1 : Form
    {
        Form form = new Form();
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void button1_Click(object sender, EventArgs e)
        {               
                form.Text = formtitle.Text;
                int count = Convert.ToInt32(FormName.Text);
                int i=1;
                while (i<= count)
                {
                    TextBox tb = new TextBox();
                    tb.Text = "Text box"+ i.ToString();
                    Button bt = new Button();
                    bt.Text = "Button" + i.ToString();
                    tb.Location = new Point(15, i*20);
                    bt.Location = new Point(120, i*20);
                    bt.Name = "Button" + i.ToString();
                    form.Controls.Add(tb);
                    form.Controls.Add(bt);
                    bt.Click +=new EventHandler(bt_Click);
                    i++;
                }
                // form.Controls.Add(...);
                form.ShowDialog();      
        }

        void  bt_Click(object sender, EventArgs e)
        {
            Button btn = (Button) sender;
            string a=btn.Text.Substring(6,btn.Text.Length-6);
            MessageBox.Show("You clicked Button "+a);  
        }
    }      
}

image

1 个答案:

答案 0 :(得分:1)

您的代码是正确的,我看到的唯一问题是您尚未初始化Form的新实例:

Form form2 = new Form();
//now add your controls to this form
//show form using "form2.ShowDialog()"