第三步 增加響應用戶事件代碼 還有最後一步就可以大功告成了
就是增加一個方法來捕捉按鈕點擊事件
這裡就是指從攝氏到華氏的按鈕點擊代碼
private void bnCtoF_Click(Object sender
EventArgs e) {
double dTempCel =
;
double dTempFah =
;
try { dTempCel = tTempCel
Text
ToDouble(); }
catch(Exception) {
tTempCel
Clear();
tTempFah
Clear();
return;
}
dTempFah =
*dTempCel+
;
tTempFah
Text = dTempFah
ToString();
tTempFah
Focus();
tTempFah
SelectionStart =
;
tTempFah
SelectionLength =
;
tTempCel
Focus();
tTempCel
SelectionStart =
;
tTempCel
SelectionLength =
;
}
第四行到第八行(也就是try 區中的一切)取回Celsius(攝氏)文本框中的數值
如果它是一個雙字節數
就將其存儲在dTempCel中
否則就清除兩個文本框並退出
接著
用存儲在dTempCel
中的值
我們用第
行中的公式將相同的溫度存儲在Fahrenheit中
將這個新的數值在 Fahrenheit(華氏)文本框中顯示
然後將光標放在每個文本框中
以便將指針設置到開頭
(如果不將指針設置到開頭
我們就會看到一個長長的數字的結尾
要看開頭就必須滾動鼠標)
以下是Fahrenheit按鈕的代碼
它將完成同樣的任務
只不過是相反的處理
private void bnFtoC_Click(Object sender
EventArgs e) {
double dTempCel =
;
double dTempFah =
;
try { dTempFah = tTempFah
Text
ToDouble(); }
catch(Exception) {
tTempCel
Clear();
tTempFah
Clear();
return;
}
dTempCel = (dTempFah
)/
;
tTempCel
Text = dTempCel
ToString();
tTempCel
Focus();
tTempCel
SelectionStart =
;
tTempCel
SelectionLength =
;
tTempFah
Focus();
tTempFah
SelectionStart =
;
tTempFah
SelectionLength =
;
}
接著
我們需要將適當的點擊事件捕捉方法與按鈕的 Click事件聯系起來
要完成這一步
我們將以下兩行放在類的構造器中:
bnCtoF
Click += new EventHandler(this
bnCtoF_Click);
bnFtoC
Click += new EventHandler(this
bnFtoC_Click);
最後
請看完整的代碼
using System;
using System
WinForms;
public class TempConverter : System
WinForms
Form {
Label lTempFah = new Label();
Label lTempCel = new Label();
TextBox tTempFah = new TextBox();
TextBox tTempCel = new TextBox();
Button bnCtoF = new Button();
Button bnFtoC = new Button();
public TempConverter() {
this
SetSize(
);
this
BorderStyle = FormBorderStyle
FixedDialog;
this
Text =
+C -> +F / +F -> +C
;
this
StartPosition = FormStartPosition
CenterScreen;
this
HelpButton = false;
this
MaximizeBox = false;
tTempCel
TabIndex =
;
tTempCel
SetSize(
);
tTempCel
SetLocation(
);
lTempCel
TabStop = false;
lTempCel
Text =
C
;
lTempCel
SetSize(
);
lTempCel
SetLocation(
);
tTempFah
TabIndex =
;
tTempFah
SetSize(
);
tTempFah
SetLocation(
);
lTempFah
TabStop = false;
lTempFah
Text =
F
;
lTempFah
SetSize(
);
lTempFah
SetLocation(
);
bnCtoF
TabIndex =
;
bnCtoF
Text =
C to F
;
bnCtoF
SetSize(
);
bnCtoF
SetLocation(
);
bnCtoF
Click += new EventHandler(this
bnCtoF_Click);
bnFtoC
TabIndex =
;
bnFtoC
Text =
F to C
;
bnFtoC
SetSize(
);
bnFtoC
SetLocation(
);
bnFtoC
Click += new EventHandler(this
bnFtoC_Click);
this
Controls
Add(tTempCel);
this
Controls
Add(lTempCel);
this
Controls
Add(tTempFah);
this
Controls
Add(lTempFah);
this
Controls
Add(bnCtoF);
this
Controls
Add(bnFtoC);
//= new Control [] { tTempCel
lTempCel
tTempFah
lTempFah
bnCtoF
bnFtoC };
}
public static void Main() {
Application
Run( new TempConverter() );
}
private void bnCtoF_Click(Object sender
EventArgs e) {
double dTempCel =
;
double dTempFah =
;
try { dTempCel = tTempCel
Text
ToDouble(); }
catch(Exception) {
tTempCel
Clear();
tTempFah
Clear();
return;
}
dTempFah =
*dTempCel+
;
tTempFah
Text = dTempFah
ToString();
tTempFah
Focus();
tTempFah
SelectionStart =
;
tTempFah
SelectionLength =
;
tTempCel
Focus();
tTempCel
SelectionStart =
;
tTempCel
SelectionLength =
;
}
private void bnFtoC_Click(Object sender
EventArgs e) {
double dTempCel =
;
double dTempFah =
;
try { dTempFah = tTempFah
Text
ToDouble(); }
catch(Exception) {
tTempCel
Clear();
tTempFah
Clear();
return;
}
dTempCel = (dTempFah
)/
;
tTempCel
Text = dTempCel
ToString();
tTempCel
Focus();
tTempCel
SelectionStart =
;
tTempCel
SelectionLength =
;
tTempFah
Focus();
tTempFah
SelectionStart =
;
tTempFah
SelectionLength =
;
}
}
結 語 到此為止
你看到了如何用C#進行編程的一個完整過程
這個例子雖然很簡單
但是麻雀雖小
五髒俱全
理解其中的原理後
就可以大顯身手
充分發揮C#的強大功能了
From:http://tw.wingwit.com/Article/program/net/201311/12818.html