第一次写博客,来分享一个简易计算器的代码。作为一名准程序员,就是要多写代码才能孰能生巧。重视基础知识才能飞的更快更高以及更稳。
代码可能会写的很糟糕,不完美不安全之处希望发现的越多越好
c#编写计算器带窗口的,对于新手来说是如何建立窗体以及实现按钮的响应事件吧!那么,首先来探索下窗口是怎么实现的吧!
步骤1:新建项目→C#windows窗体应用程序→新建解决方案
此时你会发现有两个名称,一个是解决方案名称,一个是项目名称。对于小程序来说其实没什么区别。但对于大点的程序最好就要区别开了。解决方案就好比是一个大公司,项目名称就好比公司里的部门,不同的部门有不同的功能,然后组织起来,公司才能运营起来。在这里因为程序很小,就都设置为简易计算器吧。
建完之后,大家可以看到如下界面
建完项目之后,大家不妨到保存的文件夹里看看到底保存了什么吧
bin文件夹:用来保存项目生成后程序集。bin\debug文件夹下有个.exe或.dll文件,此文件是最终生成的应用程序。(百度上还有更细的解释,其实笔者看完后也是一头雾水,,相信以后会慢慢深入了解)
obj文件夹:用来保存每个模块的编译结果。在.Net中,编译是分模块进行的。编译完成后会合并为一个.DLL或.EXE文件保存到bin目录下。每次编译采用的是增量编译,即只重新编译改变了的代码。obj保存每个文件编译的结果,用来加快代码的编译速度。是否采用增量编译,可以通过:项目属性-->配置属性-->高级-->增量编译来设置。
Proprtties文件夹:用于存放一些和程序设置相关的内容,如Assembly版本信息、应用程序配置,等一般不需要手动编写。
知道这些就不怕以后从文件夹打开文件不知道点哪个啦
回到vs界面。我们看到一个空白的Form1.cs设计,这个可以让程序员直接拖控件设计界面。
试着在旁边的工具箱随便托一个控件,再观察代码
步骤2:试着拖了一个按钮
打开Form1.Designer.cs和Form1的代码,看看里面怎么写吧
//Form1.Designer.cs代码如下 namespace 简易计算器 { partial class Form1 { /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 清理所有正在使用的资源。 /// </summary> /// <param>如果应释放托管资源,为 true;否则为 false。</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要修改 /// 使用代码编辑器修改此方法的内容。 /// </summary> private void InitializeComponent() { this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // button1 // this.button1.Location = new System.Drawing.Point(79, 74); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23); this.button1.TabIndex = 0; this.button1.Text = "button1"; this.button1.UseVisualStyleBackColor = true; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(284, 262); this.Controls.Add(this.button1); this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false); } #endregion private System.Windows.Forms.Button button1; } }