代码:
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
                
                /// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
                
                public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
                
                /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null) 
{
components.Dispose();
}
}
base.Dispose( disposing );
}
                
                #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
                   this.label1 = new System.Windows.Forms.Label();
                   this.label2 = new System.Windows.Forms.Label();
                   this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
                   this.ClientSize = new System.Drawing.Size(600, 414);
                   this.Controls.Add(this.label2);
                   this.Controls.Add(this.label1);
                    this.Load += new System.EventHandler(this.Form1_Load);
                   ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
                   this.ResumeLayout(false);
                   this.PerformLayout();
               }
问题一:这些窗体初始化信息,不是把控件拖入其中就会自动完成的吗?他为什么要自己写呢???
               /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main() 
{
Application.Run(new Form1());
}问题二:主线程不是在Progrem.cs里面的吗?在窗体的.cs文件中也可以开启线程运行窗体???

解决方案 »

  1.   

    这是vs2003的代码。vs2005之前,没有partial关键字,一个类,必须写在一个文件中。所以,这些系统生成的代码也在窗体代码中,2005开始的partial关键字,允许一个类分别在多个文件中编写,才分开2个文件的。
      

  2.   

    问题一:这些窗体初始化信息,不是把控件拖入其中就会自动完成的吗?他为什么要自己写呢???
    不写代码,还能写啥?所有的程序都是必须有代码才能跑的,“可视化编程 ”微软都是用代码来实现的,因为除了代码,你的机器什么也不认识!
    问题二:主线程不是在Progrem.cs里面的吗?在窗体的.cs文件中也可以开启线程运行窗体???
    当然!多线程的基本概念啊!
      

  3.   

    (1)vs2003时候系统自动生成的代码还没有向现在一样分离,2005之后就分离开了,这段代码是2003生成的
    (2)vs2005之后program.cs确实是单独的,但vs2003时是否是这样就不大记得了,没注意过,那时候刚学基本上都是控制台程序,基本上都是在program.cs里写,
    但是Main函数只能有一个就对了Application.Run(new Form1())就是生成一个Form1的实例
      

  4.   

    一个程序只有一个main方法。放在任何地方都一样。手动写和自动生成。只要你知道控件为什么在窗体上显示,怎么才能显示。代码你放在任何地方都没关系。