将自定义控件中的按钮的Modifiers属性设为Public,然后在winform中加如下代码。public Form1()
{
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
this.userControl11.button1.Click += new System.EventHandler(this.userbutton1_Click);
}private void userbutton1_Click(object sender, System.EventArgs e)
{
//事件处理
}

解决方案 »

  1.   

    不知道上面讲的合不合楼主的意思,我想可向控件传送所在容器的引用,在控件构造函数中添加代码如下:
    father(如容器).控件(如button1).Click += new System.EventHandler(this.userbutton1_Click);
    或者
    this(如button1).Click += new System.EventHandler(this.userbutton1_Click);
    在控件类中实现事件处理函数
    private void userbutton1_Click(object sender, System.EventArgs e)
    {
    //事件处理
    }我想其优点在于无须在容器中添加任何功能性代码,体现更好的封装性但没有进行过编程及调试
      

  2.   

    我已將usercontrol中的button1的Modifiers設為Public,但在winform中用this.usercontrol1.button1時找一到button1?