我想点击用户控件1中的button,调用用户控件2中的一个方法,这个方法就是改变textBox中显示的值。这是我简化后的一个例子,希望各位能提供帮助!C#用户控件用户控件间方法调用

解决方案 »

  1.   

    这个和窗体间传值是一样的。
    委托或把textBox改成pubic等等
      

  2.   

    textBox改成public了,可是还是不行。委托具体该怎么写啊?
      

  3.   

    http://msdn.microsoft.com/zh-cn/library/900fyy8e(v=vs.90).aspx
    委托
      

  4.   

    简单的
    用户控件1.Click=new EventHandler(用户控件2.方法名);
    不过最好在用户控件2.方法名里面判断下sender是不是用户控件2,不然可能会出现多次调用用户控件2.方法名。复杂的
    定义个委托如叫
    public delegate 返回类型 委托类型(参数签名必须和用户控件2.方法名一直)
    然后在用户控件1.Click事件生成的方法中这样写:
    this.Invoke(new 委托类型(用户控件2.方法名));这2种写法应该都是一个原理。