C#Windows Form簡易計算器實現(上)


  第一次寫博客,來分享一個簡易計算器的代碼。作為一名准程序員,就是要多寫代碼才能孰能生巧。重視基礎知識才能飛的更快更高以及更穩。

代碼可能會寫的很糟糕,不完美不安全之處希望發現的越多越好

 

  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 name="disposing">如果應釋放托管資源,為 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;  
    }  
} 
//Form1.cs代碼如下
Form1.cs  
namespace 簡易計算器  
{  
    public partial class Form1 : Form  
    {  
        public Form1()  
        {  
            InitializeComponent();  
        }  
    }  
} 

  可以看到class Form1是由partial修飾,這是分布類。再看看Form1.Designer.cs的代碼,同樣也是partial修飾的。原來Form1.Designer.cs的代碼也是Form1類的一部分。(筆者就把它們當成寫在一起的,總之什么字段函數屬性都屬於Form1類)

 (注意)partial不是關鍵字,所以在其他上下文,可以在程序中把它用作標識符號 。但是直接用在關鍵字class,struct或則interface之前,表示分部類型。Visio Studio為標准Windows程序模塊使用了這個特性。如果你從標准模塊創建ASP.NET項目、Windows Forms項目或則Windows Presentation Foudation(WPF)項目,模板為每一個Web頁面、表單或WPF窗體創建兩個類文件。我們在Form1設計里直接設計或則修改界面,代碼會自動添加在Form1.Designer.cs里面。一般不應該修改里面的代碼,因為如果修改頁面組件的話,Visual Studio會重新編譯生成這些代碼,修改過的代碼就會丟失掉了。


  步驟3:為按鈕添加一個點擊事件


  定義一個按鈕被點擊后要實現的函數Button_OnClick(),然后為按鈕添加點擊事件

namespace 簡易計算器  
{  
    public partial class Form1 : Form  
    {  
        public Form1()  
        {  
            InitializeComponent();  
  
  
            button1.Click += new EventHandler(Button1_OnClick);  //2.再添加事件響應  
        }  
  
  
  
  
        private void Button1_OnClick(object sender,EventArgs args)   //1.先寫一個點擊后的方法  
        {  
            Console.WriteLine("鼠標被點擊啦");  
        }  
    }  
}  

  此時按F5編譯打開程序,點擊一下按鈕,再關閉程序,在后台輸出里可以看到

說明就成功了。

有了這些窗口知識,下面就可以來編寫一個簡易的計算器了

 

TIP:小白們編寫窗體盡量不要依賴.net提供的窗口設計面板直接拖拉控件,而是把它當成一種學習便捷工具。自己嘗試拖拉控件改變布局,改變控件屬性,然后在自動生成的代碼里學習是如何實現的,然后就可以為我所用來自己編寫代碼實現自己的界面了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM