您的位置:程序门 -> .net技术 -> c#



动态加载按钮 并加载事件的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


动态加载按钮 并加载事件的问题[已结贴,结贴人:lxrw2002]
发表于:2007-01-04 21:51:39 楼主
button   a   =   null;
                public   form1()
                {
                        initializecomponent();
                }

                private   void   form1_load(object   sender,   eventargs   e)
                {
                        for   (int   i   =   0;   i   <   2;   i++)
                        {
                              a   =   new   button();
                                a.text   =   i.tostring();
                                this.flowlayoutpanel1.controls.add(a);

                                a.click   +=   new   system.eventhandler(this.button1_click);
                        }
                }

                private   void   button1_click(object   sender,   eventargs   e)
                {
                        messagebox.show(a.text);
                }
    在面板上就有2个按钮了   但是不管点哪个都是   2  
      我想实现的是   点1   弹出1     点2   弹出   2
发表于:2007-01-04 22:09:431楼 得分:0
a.click   +=   new   system.eventhandler(this.button1_click);这句有问题啊。
肯定只有一种响应了
发表于:2007-01-04 22:22:202楼 得分:0
那应该要怎么写   才能实现啊
发表于:2007-01-04 22:47:433楼 得分:20
private   void   button1_click(object   sender,   eventargs   e)
{
button   clickedbutton   =   sender   as   button;
messagebox.show(clickedbutton   .text);
}
发表于:2007-01-04 23:05:504楼 得分:0
你已经实现了动态加载按钮并支持事件,只是事件处理程序写得有问题。

a是类实例中的对象,在事件处理函数以外得到了初始值。
发表于:2007-01-04 23:35:435楼 得分:0
sunrobust   太感谢你了~~
      private   void   button1_click(object   sender,   eventargs   e)
        {
          button   clickedbutton   =   sender   as   button;
          messagebox.show(clickedbutton   .text);
        }
  是对的~~
发表于:2007-01-04 23:36:006楼 得分:0
呵呵   成功了


快速检索

最新资讯
热门点击