我在一个Panel,根据需求动态生成了若干个Panel,并且都添加了Click事件,
但是每当点击任意一个Panel,有的事件反应的快,有的半天都没有反应,这是什么原因呢?

解决方案 »

  1.   

    private Panel getPanels(DataRow dr, int x, int y)
            {
              
                Panel pan = new Panel();
               
                pan.BackColor = System.Drawing.Color.Yellow;
                
                pan.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
                pan.Location = new System.Drawing.Point(x, y);
                pan.Name = "pan_"+ dr["id"].ToString();
                pan.Size = new System.Drawing.Size(100, 50);
               pan.Click += panel2_Click;
               panel1.Controls.Add(pan);            return pan;
    }
    private void panel2_Click(object sender, EventArgs e)
            {
                foreach (Control chk in (sender as Panel).Parent.Controls)
                       {
                           if (chk is Panel)
                           {
                               Panel ce = (Panel)chk;
                               if (ce == sender)
                               {
                                   if (ce.BackColor != Color.Red)
                                   {
                                      
                                       ce.BackColor = Color.FromArgb(47 ,127, 190);
                                      
                                   }
                                   
                               }
                               else
                               {
                                   if (ce.BackColor != Color.Red)
                                   {
                                       ce.BackColor = Color.Yellow;
                                       
                                   }                           }
                           }                   }
            }
      

  2.   


    设断点了,有的Panle点击,都不执行事件
      

  3.   


    每个Panel 里都有不同的内容,如果被覆盖的话,应该是看不到的,现在是可以看到的
      

  4.   

    我以前也有过这种情况就是 panel 里面还有控件  所以发生的事件不对
      

  5.   


    panel 里没有其他控件的,有时候得点很多下,才会响应事件
      

  6.   

    问一下,我在为Panel 添加Click事件为什么会出现下面的错误
    “System.Web.UI.WebControls.Panel”不包含“Click”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.Panel”的第一个参数的扩展方法“Click”(是否缺少 using 指令或程序集引用?)