C# Form: 
  
自定义了用户控件UCTel,包含pictures、label 两个控件。 
自定义了事件HxClick. 
    public event EventHandler HxClick;       private void PictureBox1_Click(object sender, EventArgs e) 
        {             if (HxClick != null) HxClick(sender, e); 
          
        }         private void label1_Click(object sender, EventArgs e) 
        { 
            if (HxClick != null) HxClick(sender, e); 
        }      用户控件生成封装好. 
在Form1的button1事件中动态的添加控件 private void button1_Click(object sender, EventArgs e) 
        { 
           
            for (i=1,i++,...)
             {
               UCTel ucTel= new UCTel();
               //给添加控件取名 
               ucTel.name="xx"+i.tostring();
               ucTel.tag="???"
                 ...               ucTel.ucTel_HxClick += new System.EventHandler(this.ucTel_HxClick); 
             }
    }        private void ucTel_HxClick(object sender, EventArgs e) 
        { 
         怎样捕捉是那个控件触发事件,主要是为了得到触发事件控件的其他属性。           
   
        }      
用(UCTel)sender不对, sender得到的是picture,或者label,但UCTEL是个用户自定义控件。

解决方案 »

  1.   

    if(sender is PictureBox)
    {
      //PictureBox
    }
    if(sender is Label)
    {
      //Label
    }
      

  2.   

    请问:
    怎样得到:ucTel.tag
      

  3.   

      Type myType = 类名.GetType();
      System.Reflection.PropertyInfo myPI = myType.GetProperty("Tag") ;
      

  4.   

     System.Reflection.PropertyInfo [] myPIs = myType.GetProperties () ;  
      

  5.   

    ((Control)sender).Parent.Tag说的该对象表达式不能用作语句。
      

  6.   

    ((Control)sender).Parent.Tag 
    最简单,谢谢各位!!
    结贴