
例如使用者按下 Button 後,在命令列印出 "button click" 的訊息,這時候就要設定 Button 的 Click 屬性,替 Click 增加一個 EventHandler 物件 (object) ,並且另外設計 button_Click() 方法進行印出訊息的工作
14 | this .button1.Click += new EventHandler( this .button_Click); |
button_Click() 如下
34 35 36 | private void button_Click( object sender, EventArgs e) { Console.WriteLine( "button click" ); } |
同樣的,使用者在 TextBox 輸入文字(按下按鍵),我們希望在命令列印出訊息,這裡需要在 TextBox 的 KeyPress 屬性新增 KeyPressEventHandler 物件
19 | this .textbox1.KeyPress += new KeyPressEventHandler( this .textbox_KeyPress); |
textbox_KeyPress() 如下
38 39 40 | private void textbox_KeyPress( object sender, EventArgs e) { Console.WriteLine( "key press" ); } |
ListBox 則是在命令列印出使用者選擇的選項,這跟 Button 一樣設定 Click 屬性即可
27 | this .listbox1.Click += new EventHandler( this .listbox_Click); |
listbox_Click() 如下
42 43 44 | private void listbox_Click( object sender, EventArgs e) { Console.WriteLine( this .listbox1.SelectedItem); } |
ListBox 的 SelectedItem 屬性就是被選取選項的文字標籤。
完整的 guidemo.cs 修改如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | using System; using System.Drawing; using System.Windows.Forms; public class Form1 : Form { public Button button1; public TextBox textbox1; public ListBox listbox1; public Form1() { this .button1 = new Button(); this .button1.Location = new Point(10, 10); this .button1.Text = "Click Me!!" ; this .button1.Click += new EventHandler( this .button_Click); this .textbox1 = new TextBox(); this .textbox1.Location = new Point(10, 45); this .textbox1.Text = "Input Something....." ; this .textbox1.KeyPress += new KeyPressEventHandler( this .textbox_KeyPress); this .listbox1 = new ListBox(); this .listbox1.Location = new Point(10, 80); this .listbox1.Items.Add( "Choice 1" ); this .listbox1.Items.Add( "Choice 2" ); this .listbox1.Items.Add( "Choice 3" ); this .listbox1.Items.Add( "Choice 4" ); this .listbox1.Click += new EventHandler( this .listbox_Click); this .Controls.Add(button1); this .Controls.Add(textbox1); this .Controls.Add(listbox1); } private void button_Click( object sender, EventArgs e) { Console.WriteLine( "button click" ); } private void textbox_KeyPress( object sender, EventArgs e) { Console.WriteLine( "key press" ); } private void listbox_Click( object sender, EventArgs e) { Console.WriteLine( this .listbox1.SelectedItem); } [STAThread] static void Main() { Application.Run( new Form1()); } } /* 《程式語言教學誌》的範例程式 檔名:guidemo.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2012 年 10 月 */ |
編譯執行,結果如下

好了, GUI 的基本概念大體如此,接下來我們要來實際建置 EncryptGUI 囉!
中英文術語對照 | |
---|---|
程式 | program |
屬性 | property |
事件 | event |
方法 | method |
物件 | object |
您可以繼續參考
GUI 篇
相關目錄
回 C# 入門指南
回 C# 教材
回首頁
參考資料
http://msdn.microsoft.com/zh-tw/library/awbftdfh%28v=vs.80%29.aspx
http://msdn.microsoft.com/zh-tw/library/ms366768%28v=vs.80%29.aspx
http://msdn.microsoft.com/zh-tw/library/w369ty8x%28v=vs.80%29.aspx
沒有留言:
張貼留言