这个事件要如何添加阿
我在控件中
public event System.EventHandler DoubleClick;了阿
可是用还不能用DoubleClick这个事件阿

解决方案 »

  1.   

    呵呵,这样当然是不行的。。你要重写这个控件的
    private EventHandler onDoubleClick;
    public event EventHandler DoubleClick 
    {
    add 
    {
    onDoubleClick += value;
    }
    remove 
    {
    onDoubleClick -= value;
    }
    }protected override void WndProc(ref Message m)
    {
    if(LBUTTONDBLCLK == m.Msg)
    {
       if(this.onDoubleClick != null)
       {     this.onValueChanged.Invoke(this, e); //一般来说你要传参数进去,参数可以从m里得到,
                                              //比如鼠标点击的坐标等,
                                              //再传到这个委托里就可以了
       }
    }
    base.WndProc (ref m);
    }
      

  2.   

    对了 LBUTTONDBLCLK = 515 //表示左键的双击的Message的值
      

  3.   

    isaacyh(发现自己啥都不懂回头学C++) 你好,不好意思再问下,这下面一段一定要加吗?protected override void WndProc(ref Message m)
    {
    if(LBUTTONDBLCLK == m.Msg)
    {
       if(this.onDoubleClick != null)
       {     this.onValueChanged.Invoke(this, e); //一般来说你要传参数进去,参数可以从m里得到,
                                              //比如鼠标点击的坐标等,
                                              //再传到这个委托里就可以了
       }
    }
    base.WndProc (ref m);
    }
      

  4.   

    “MCQClient.MyButtonItem.WndProc(ref System.Windows.Forms.Message)” : 没有找到适合的方法来重写加了这个好象出了错误,如果把这句注释掉,又好象没用了,郁闷啊
      

  5.   

    不是吧??你这个是继承control下来的撒,怎么会没有WndProc方法呢???
      

  6.   

    你的MyButtonItem是自己写的控件撒???
    怎么写的???
    是继承button类还是继承什么类???
      

  7.   

    那个button类是继承control还是什么系统的Button???
    如果是的话,就应该可以
    protected override void WndProc(ref Message m)
    {
    base.WndProc (ref m);
    }
    对吗??