通讯我也是能实现的。
问题是这样的。很简单阿。。
      两个自定义控件  control1,control2,生成两个 。cs文件。
      control1有按钮 button1,button2
      control2有按钮 button3,button4.buttton 有自定义事件 ttt。
      我想在 button1 的click 事件中调用 button3 的ttt 事件按照 我以前的思维模式。有三种解决办法
     1。在 contro1 定义一个 control2 类型的变量,然后将 control2 赋给这个变量。
        比如说
                using control2
              ..........                
                {
                     private control2 cotrol2_user                     
                  event xxxx{}
                  {
                      control2_user.tttt()
                   }
我写的很差,我只是想要具体的方法,比较详细的步骤哦。
最好把几种方法都说出来啊。            最好处理都在 control1,contro2 的代码中完成,各个模块关联越烧越好。

解决方案 »

  1.   

    SaSBYa(置身珠海,置身学习,置身奋斗) ( ) 信誉:100  2003-12 
    你说的很对,就是这样。
    希望有具体的实现。我 c#实在太臭了。这是如何语言开发的一个基础阿。
    我非常想知道啊。
      

  2.   

    1——
    你在你的应用中创建Control1和Control2的实例。2——
    在Control1的Button1的Click事件中作以下操作之一:A——
    直接调用ttt:
    Control2.ttt(sender,e);
    //要求ttt是Public的
    //如果在ttt中用到了sender对象,那么,根据需要,修改sender为Control2.Button3B——
    发送系统消息,通知Button3被Click(这个比较难)
      

  3.   

    偶不知道你是不是要这个?
    UserControl2 u2=new UserControl2();
    this.button1.Click+=new System.EventHandler(ttt);
      

  4.   

    不好意思,掉了点。
    UserControl2 u2=new UserControl2();
    this.button1.Click+=new System.EventHandler(u2.ttt);
      

  5.   

    不是这个
    你只是把 button1 的 click 事件 改成用 ttt 来做实现体的。
    事件绑定哦。公司的 javascript 做的基础类库都是这样实现的。我的意思是我 button1 里面调用 button3 的事件。
    关键是当程序运行时 button1 如何来找到 button3 ,
    到这里跟贴吧,我会给你 50 分得。
    http://expert.csdn.net/Expert/topic/2564/2564412.xml?temp=.6833917
      

  6.   

    把你的ttt事件做成internal static的,不用创建对象实例,就可以调用了。
    但是这样子增加了模块之间的关联,不太好吧,直接拷贝一份过来可能更好,我觉得出现这样的情况可能是类的划分不够合理。
      

  7.   

    运行时找到对应的控件也不是很吓人的事啊。
    你可以直接在Form1.Controls[n]中来定位啊,我感觉,整个应用程序在运行时都可以这样做啊。也做过一些小测试,基本上和设想的一致。
      

  8.   

    很简单的问题啊。我做了一个这样的界面:
    一个窗口上放置了两个 panel : panel1 和 panle2
    然后我 panel1 放了自定义控件 control1 
    然后我 panel2 放了自定义控件 control2
    cotrol1 上包含两个button ,button11,button12
    cotrol2 上包含两个button ,button21,button22我现在 button21 自定义一个事件 ttt,来改变 button22 的背景色。 (这个很简单,在同一个 .cs文件中)
    我现在想在 button11 的click 事件调用 button21 的 ttt 事件,怎么办。(button11,和button 21 在不同的cs文件中)简单的说就是在不同cs文件的一个类 调用 另 一个类的 方法。希望给出比较好的解决办法。
      

  9.   

    这么简单都搞不定么?把
    ttt写成静态方法
    public static void ttt()
    {
       MessageBox.Show("Fuck You!");
    }
    button11_click(object sender,....... e)
    {
        control2.ttt();

    我也许回答得不对,因为你的问题写得真的是不清楚!
      

  10.   

    这个问题已经很清楚了。。为什么就看不明白呢?简单的说就是 两个不同 .cs 文件 ,一个类如何访问另一个不同的cs 文件中类的方法阿。
      

  11.   

    两个类跟是不是两个不同.cs文件一点关系也没有,只要在同一个项目里,或者即使在不同的项目里,只要加了引用,都可以访问能够访问到的类的成员。静态方法, 或internal成员(通过对象实例)都可以访问。