有二個窗體。B窗體是繼承A窗體的。。如何在B窗體裡面調用A窗體的事件。。如在B窗體裡調用A窗體的click事件..

解决方案 »

  1.   

    你把A窗体的控件对象,事件都定义成Public的,这样B继承A,自然的会把A方法都带过来,调用的时候可以用Base.方法来调用,也可以直接方法()调用
      

  2.   

    我要去觸發B窗體的事件,並同是執行A窗體的事件。。B是繼承A的
      

  3.   

    你把A窗体的事件的private 改成 protected然后使用 base.事件(null,null) 即可如:Form1// Form1的一个Click事件
    protected void button1_Click(object sender, EventArgs e)
    {
         MessageBox.Show("OK");
    }Form2继承Form1// Form2的Load事件调用Form1的Click
    private void Form2_Load(object sender, EventArgs e)
    {
         base.button1_Click(null, null);
    }
      

  4.   

    using System;namespace myevent{    public delegate void mydelegate(mystruct aa);    public struct  mystruct    {        public int id;        public string name;    }     public class A    {        public event mydelegate myevent;    }    class Program    {        static void Main(string[] args)        {            mystruct mys = new mystruct();            mys.id = 100;            mys.name = "my name";            A myA = new A();            Program p = new Program();//為什么要加這個? 在這里做什么用?謝謝            myA.myevent += new mydelegate(p.myA_myevent);            //請教此時如何去觸發myevent 事件?(此處就當不知道 class A里的東西 如:A就是一個窗體對象,可以實現嗎? ) 謝謝            //mydelegate myhander = new mydelegate(p.myA_myevent);            //myhander(mys);            Console.Read();        }        public void myA_myevent(mystruct aa)        {            Console.WriteLine("用戶ID:{0},用戶名:{1}", aa.id, aa.name);            Console.Read();        }    } }