1:   private void button1_Click(object sender, EventArgs e)
        {
            ((Button)sender).Text = "click me";
        }请问下为什么这里形参要定义成object sender 为什么要选成object类呢?                
  2:     函数定义:       public static void Run( Form mainForm)                                                                                  
这里           Application.Run(new Form1()); 
               
               为什么要用 照我想的我感觉 形参是Form 那么 实参也应该选Form1..

解决方案 »

  1.   

    因为sender可能是Button,也可能是CheckBox,不同的对象可能类型完全不同,用object可以适应不同类型的sender,
      

  2.   

    Form1是Form的派生类,形参是Form,实参传入派生类的Form1的引用,没有错误,派生类的实例也是基类的实例,Form1的实例也是Form的实例,
      

  3.   

    Form1是Form的派生类,形参是Form,实参传入派生类的Form1的引用,没有错误,派生类的实例也是基类的实例,Form1的实例也是Form的实例,
      

  4.   

    这里 Application.Run(new Form1());  
        
      为什么要用 照我想的我感觉 形参是Form 那么 实参也应该选Form1..
    因为这是启动项,启动项只能有一个。
      

  5.   

    第一个问题,因为object是所有类的基类,那么继承你懂的
    第二个,appliction.run()就跟main方法一样,是程序的入口,控制着整个窗体
      

  6.   

    第一个问题,因为object是所有类的基类,那么继承你懂的
    第二个,appliction.run()就跟main方法一样,是程序的入口,控制着整个窗体