进入Windows的世界
1.1進入Windows的世界
1.1.1回顧控制臺應用程序
開始學習Windows程序開發之前,讓我們一起重新回顧一下在C#語言學習中經常使用到的控制臺應用程序。
控制臺應用程序創建以后默認在(1)區域打開的是Program.cs代碼文件,而且主函數中沒有任何代碼。在解決方案資源管理器面板中除了屬性和引用之外只有一個Program.cs代碼文件。按Ctrl+F5不帶調試的運行界面如下圖:
1.1.2創建Windows應用程序
接下來,我們新建一個Windows應用程序。
(1)打開vs2005,在菜單中依次選擇“文件” – “新建” – “項目…”菜單項
(2)在模板中選擇Windows應用程序
Windows應用程序默認創建以后的界面如下圖:
按Ctrl+F5不帶調試的運行界面如下圖:
1.1.3Windows應用程序和控制臺應用程序區別
(1)在1區域默認打開的代碼文件不同。控制臺應用程序默認打開的是Program.cs代碼文件,并且直接是代碼編輯模式,而Windows應用程序默認打開的
是Form1.cs文件,并且是設計模式。
(2)我們再來看解決方案面板發現和控制臺應用程序相比多了個Form1.cs,但是同樣有Program.cs文件,那么好,我們打開Program.cs看看和控制臺中的Program.cs文件的內容有何不同。
<1>兩者都有命名空間的引用部分,但是具體引用的命名空間不同。
<2>對于類Program的定義不同,在Windows中Program被定義為靜態類。
<3>主函數的簽名及內容不同。Windows程序中主函數上面添加了[STAThread]指示應用程序的默認線程模型是單線程單元,同時在主函數中已經添加了三行代碼。第一行代碼用于啟用應用程序的可視樣式,第二行代碼用于程序控件的默認設置,第三行代碼設置程序啟動的窗體實例。在第三行代碼中有new Form1() 這個代碼相信大家都比較熟悉,其作用是創建Form1的實例對象,那么Form1究竟是什么呢?
我們通過轉到定義操作可以看到如圖結果:
Form1就是一個類,該類繼承自Form,Form是系統中已經定義好的一個類。并且Form1的定義使用的部分類定義,分別在Form1.cs和From1.Designer.cs兩個代碼文件中。其中From1.Designer.cs中的代碼一般是由系統自動生成的。
現在可能大家就開始有些疑問了,既然Form1他就是一個類,和我們之前在C#中定義的類一樣,那么為何會有兩種查看界面呢,一種是默認創建好Windows項目后打開的Form1.cs的設計界面,一種是代碼編寫界面(如上圖)。
這就是Windows應用程序的特別之處了,從1.1.2中我們知道Windows程序運行以后是有界面的,而Form1就是一個運行以后會有界面的類,那么強大的VS就幫我們增加了一種可視化的設計模式,方便我們可視化的對Form1進行設計。其設計界面和代碼編輯模式是對應的,設計界面所做的操作,vs會自動生成相應的代碼。
1.2Windows程序設計的一般步驟
1.2.1界面設計
控件擺放:
(1)打開Form1的設計界面,
(2)把鼠標移到“工具箱”,工具箱會自動展開(或者通過視圖菜單也可以打開工具箱面板),雙擊“公共控件”下的“Button”。這時,在Form1窗體上會出現一個按鈕button1
(3)從工具箱中拖“Button”控件放到Form1窗體上,在Form1窗體上會出現一個按鈕button2
(4)在工具箱中單擊“Button”控件,然后在Form1窗體上的空白位置單擊,在Form1窗體上會出現一個按鈕button3
步驟(2)(3)(4)是向窗體添加控件的3種方法,其中步驟(3)及拖放的方式是最常用的。
(5)控件添加到窗體上的位置及其大小是可以直接對其進行拖拽修改的。
深層探索:
我們剛剛向Form1窗體添加了3個Button控件,那么對應Form1類的變化時什么呢?在資源管理器中我們雙擊打開Form1.Designer.cs代碼文件。
我們添加的三個Button按鈕對應在Form1中增加了3個Button類型的私有字段,并且在上面折疊起來的代碼中還有對這三個對象的相關屬性設置。
1.2.2代碼編寫
我們希望程序運行以后單擊button1按鈕可以出來一個歡迎的消息框。
雙擊button1按鈕進入代碼編輯界面,編寫如下代碼:
using System.Drawing; using System.Text; using System.Windows.Forms;namespace WindowsApplication11 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){MessageBox.Show("歡迎你!");}} }?運行效果: 深層探索:我們剛剛在設計界面雙擊button1究竟發生了什么事情呢?現在我們重新打開Form1.Designer.cs代碼文件查看Windows窗體設計生成的代碼。 vs自動幫我們生成了綁定button1的Click事件的相應代碼。?1.3控件究竟是什么?在Windows程序設計中,我們總是說控件,那么控件究竟是什么呢?
以Button控件為例,我們通過轉到定義操作,顯示代碼如下:
那么可知,控件其實就是類。
控件是對數據和方法的封裝,是可視化交互的載體,其本質就是具有可視界面的類。
轉載于:https://www.cnblogs.com/micy/archive/2010/04/30/1725012.html
總結
以上是生活随笔為你收集整理的进入Windows的世界的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql配置连接远程_MySql配置远
- 下一篇: C语言实现tolower