我自定义了一个很简单的控件,然后在应用程序中使用它。
比如说单击事件弹对话框。
在自定义控件中这样做得:
public delegate void DoMyClick(UButton btn);protected override void OnClick(EventArgs e)
{
    doMyClick(this);
}public DoMyClick doMyClick;
......其他的代码在使用控件的应用程序中是这样的:public Form1()
{
    InitializeComponent();
    uButton1.doMyClick = new UButton.UButton.DoMyClick(this.UClick);//控件是托上去的。
    uButton1.Parent = this;
}private void UClick(UButton.UButton btn)
{
    MessageBox.Show(btn.UButtonText);
}

解决方案 »

  1.   

    uButton1.doMyClick += new UButton.UButton.DoMyClick(this.UClick);//控件是托上去的。
      

  2.   

    觉得这样比较地道一点:定义:
    public event DoMyClick doMyClick;使用:
    uButton1.doMyClick += new UButton.UButton.DoMyClick(this.UClick);event和delegate还是有区别的
      

  3.   

    加个NULL判断protected override void OnClick(EventArgs e)
    {
       if (doMyClick != null)
       {
        doMyClick(this);
       }
    }
      

  4.   

    重复一下:
    我自定义了一个很简单的控件,然后在应用程序中使用它。
    比如说单击事件弹对话框。
    在自定义控件中这样做得:
    public delegate void DoMyClick(UButton btn);protected override void OnClick(EventArgs e)
    {
    doMyClick(this);
    }public DoMyClick doMyClick;
    ......其他的代码在使用控件的应用程序中是这样的:public Form1()
    {
    InitializeComponent();
    uButton1.doMyClick = new UButton.UButton.DoMyClick(this.UClick);//控件是托上去的。
    uButton1.Parent = this;
    }private void UClick(UButton.UButton btn)
    {
    MessageBox.Show(btn.UButtonText);
    }问题是无效,就是向单击我生成的控件后弹出对话框。可是不成功啊!help~
      

  5.   

    定义:
    public event DoMyClick doMyClick;使用:
    uButton1.doMyClick += new UButton.UButton.DoMyClick(this.UClick);event和delegate还是有区别的
    加个NULL判断protected override void OnClick(EventArgs e)
    {
       if (doMyClick != null)
       {
        doMyClick(this);
       }
    }
      

  6.   

    在你的uButton1.click事件中,添加base.onclic(e)应该就可以了,你试试
      

  7.   

    to:Little_Ghost
    还是地道的方法好使,谢了