日期:2014-05-20  浏览次数:20811 次

如何给后台生成的Button绑定事件
现在在后台生成一个Button要给button绑定一个事件,当点击该button时触发该事件,问题在于点击之后生成的Button就不见了!!请教!

------解决方案--------------------
C# code

private void Form1_Load(object sender, EventArgs e)
        {
            Button btn;
            for (int i = 0; i < 10; i++)
            {
                btn = new Button();
                btn.Location = new System.Drawing.Point(34, 12 + i * 30);//10按钮垂直排列
                btn.Name = "button" + i.ToString();
                btn.Size = new System.Drawing.Size(75, 23);
                btn.TabIndex = 0;
                btn.Text = "button" + i.ToString();
                btn.UseVisualStyleBackColor = true;
                this.Controls.Add(btn);
                btn.Click += new EventHandler(btn_Click);
            }
                
        }

        void btn_Click(object sender, EventArgs e)
        {
            Button button = (Button)sender;

            MessageBox.Show("你现在点击的是按钮" + button.Text);
        }

------解决方案--------------------
如果楼主说的是asp.net,我曾经发过一个小例子,希望对你有用:
http://topic.csdn.net/u/20100704/09/64bf7b0d-8ee8-4b84-b064-3c1629dc1d9c.html
------解决方案--------------------
探讨

如果楼主说的是asp.net,我曾经发过一个小例子,希望对你有用:
http://topic.csdn.net/u/20100704/09/64bf7b0d-8ee8-4b84-b064-3c1629dc1d9c.html

------解决方案--------------------
ASP.NET后台生成的控件需要在PAGE_LOAD方法中才会加载。所以你如果再其他事件中生成控件刷新一下后就会没有该控件