C# 入門指南 - 完成版的 GUI 軟體

EncryptDemo 與 EncryptGUI 都是階段性功能的類別 (class) , EncryptDemo 在命令列對 Encrypt 進行測試, EncryptGUI 則是作為執行圖形介面之用




encryptgui.cs 完整的範例程式碼,請參考encryptgui.cs


ClearCopy 兩個按鈕還沒設置事件處理 (event handling) 。首先, Clear 為清除使用者輸入,也就是清空 inputFieldoutputField 兩個文字輸入框,這工作交由 clearButton_Click() 進行
this.clearButton.Click += new EventHandler(this.clearButton_Click);


clearButton_Click() 如下
private void clearButton_Click(object sender, EventArgs e) {
    this.inputText = "";
    this.outputText = "";
    this.inputField.Text = "";
    this.outputField.Text = "";
    this.displayLabel.Text = "This is Clear button. Everything is clear.";
}


這裡除了把 inputFieldoutputField 都設成空字串 (string) 外,也一併把 inputTextoutputText 設成空字串,這樣一來,之前所有操作除了 NewLoad 之外等於歸零,輸入與輸出結果都清空了。


Copy 用來拷貝編碼或解碼的結果,這用 copyButton_Click() 進行處理
this.copyButton.Click += new EventHandler(this.copyButton_Click);


copyButton_Click() 如下
private void copyButton_Click(object sender, EventArgs e) {
    if (this.outputText != "") {
        Clipboard.SetText(this.outputText);  
        this.displayLabel.Text = "This is Copy button. Result is copied.";
    }
    else {
        this.displayLabel.Text = "This is Copy button. Result is not copied.";
    }
}


這裡是只用 Clipboard 類別 (class) 的 SetText() 方法 (method) ,將 outputText 設定給剪貼簿。


編譯後執行, Clear 會清除所有輸入與輸出



Copy 會複製結果到剪貼簿



我們重新在 inputField 剪貼簿的字串



Decode 就是 "There is no spoon." 囉!



很可惜的,非 MS-Windows 系統的話, C# 的剪貼簿只能貼到 C# 設計的程式中,這點微軟要加油囉!跨平台支援對任何通用程式語言都是很重要的。


嗯,我們一路從基礎學習,然後開發 Encrypt ,接著設計利用 Encrypt 的圖形介面軟體 EncryptGUI ,到這裡告一段落囉!下一步應該是?


中英文術語對照
類別class
事件處理event handling
字串string
類別class
方法method


您可以繼續參考
GUI 篇


相關目錄
回 C# 入門指南
回 C# 教材
回首頁


參考資料
http://msdn.microsoft.com/zh-tw/library/637ys738%28v=vs.80%29.aspx
http://msdn.microsoft.com/zh-tw/library/c2thcsx4%28v=vs.80%29.aspx
http://msdn.microsoft.com/zh-tw/library/system.windows.forms.clipboard%28v=vs.80%29.aspx

沒有留言: