各位大虾,请问,用户控件中子控件的事件在外部如何改变?
现在要做一个通用的用户控件,比如一棵树放在面板里面。其他模块调用这个用户控件,但是不同模块中,对树控件的点击处理不同(假如业务处理代码很多,足够多,不能通过传递参数等手段解决),而在外部,给用户控件添加事件处理函数时貌似不能再改变数的事件处理函数了,只能编辑用户控件本身的事件函数。
这样就导致用户控件并不通用。。
不知道是否可以做到在外部改变用户控件子控件事件?
本人接触c#时间短,请各位指教!

解决方案 »

  1.   

    1、把自定义控件内的那个子控件(假如其Name为button1)的Modifiers属性改为Public
    2、假如在form1中放置了自定义控件myControl,则form1的构造函数:
    public Form1()
            {
                InitializeComponent();
                myControl.button1.Click += new EventHandler(button1_Click);
            }
    form1中再定义:
    void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("In Form1");    //各个Form就可有不同的处理
            }