创建winform窗口引用所有系统的系统库文件的引用依赖App.config当前项目的配置文件Form1.cs当前窗体的控件布局源码Form1.Dedigner.cs当前窗体的控件布局源码Form1.resx当前窗体的资源文件(图片、图标、资源等)Form1.cs和Foem1.Designer.cs都定义了Form1类该类使用了Partial关键词声明其定义的类可以在多个地方被定义最后编译的时候会被当做一个类来处理因此两个文件各四其职最后合并为一个类编译、要手动实现自定义窗体可以添加自己的类然后继承Form类即可Form1Form1.Designer.cs分部类 两个类共享一个类名为了区分逻辑与界面分开Program.csnamespace WindowsFormsApp_learning { //Program.cs 入口程序解读 static class Program { /// summary /// 应用程序的主入口点。 /// /summary //1.[STAThread] Attributes语法修饰Main方法。示应用程序的默认线程模型是单线程单元 (STA) //这个线程是一个 UI 线程使用 STA 模型。 [STAThread] static void Main() { Application.EnableVisualStyles(); //启用 XP 以上的视觉样式按钮、文本框等控件会变成现代风格而不是 Win98 经典风格 Application.SetCompatibleTextRenderingDefault(false); //使用 GDI 文本渲染新版false 是默认推荐 Application.Run(new Form1()); //启动消息循环显示Form1窗口 //这行之后程序就不会退出了直到用户关掉窗口 //Run()内部是个死循环不断处理窗口消息鼠标点击、键盘输入等 } } }Attributes 特性语法STASingle-Threaded Apartment单线程单元​ 是COMComponent Object Model​ 规定的一种线程隔离模型用来解决“多个线程如何安全地访问同一个 COM 对象”​ 的问题。STA 一个 COM 对象只能由一个线程访问所有调用都回到这个线程执行。GDI 是 Windows 的“画图引擎”负责把线、文字、图片画到屏幕、打印机或内存里。