none
C# 同时打开两个窗体 一个窗体点击button控件触发另一个窗体事件 RRS feed

  • 问题

  •    用Shown事件打开Form2的窗体,这是同时开打Form1和form2.

    点击Form1的下的Button控件去触发From2的一个事件?

    这种方式能实现吗??

    如果能,那要怎么写呀??能提供一些代码看看嘛??

    2013年4月19日 4:30

答案

  • myxzjie

    给你一些提示,你可以先尝试自己写写看:

    假设Form1为启动主窗体,在Form1的Load事件中已经Show了一个Form2的窗体实例。其中Form2的构造函数应该已经被重载了一次(该重载函数应该包含Form1类型作为参数):

    public partial class Form2
    {
      //省略其它生成代码……
      //添加Form1类内部变量
      private Form1 Form1{get;set;}
      //自己添加新构造函数
      public Form2(Form1 frm)
      {
       Form1 = frm;
       Form1.MyEvent+=new Action(MyEventHandler);
      }
    
      ………………
      private void MyEventHandler()
      {
       //当Form1事件被触发的时候,Form2干啥就干啥……
      }
    }

    同时不要忘记为Form1定义委托事件:

    public event Action MyEvent = null;

    然后在Form1的Button点击(或者类似事件),触发调用:

    MyEvent();


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats

    2013年4月19日 10:22
    版主

全部回复

  • 把button_click设为public,引用Frome2调用
    2013年4月19日 7:26
  • myxzjie

    给你一些提示,你可以先尝试自己写写看:

    假设Form1为启动主窗体,在Form1的Load事件中已经Show了一个Form2的窗体实例。其中Form2的构造函数应该已经被重载了一次(该重载函数应该包含Form1类型作为参数):

    public partial class Form2
    {
      //省略其它生成代码……
      //添加Form1类内部变量
      private Form1 Form1{get;set;}
      //自己添加新构造函数
      public Form2(Form1 frm)
      {
       Form1 = frm;
       Form1.MyEvent+=new Action(MyEventHandler);
      }
    
      ………………
      private void MyEventHandler()
      {
       //当Form1事件被触发的时候,Form2干啥就干啥……
      }
    }

    同时不要忘记为Form1定义委托事件:

    public event Action MyEvent = null;

    然后在Form1的Button点击(或者类似事件),触发调用:

    MyEvent();


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats

    2013年4月19日 10:22
    版主