言歸正傳,下面就來(lái)講講怎樣動(dòng)態(tài)注冊(cè)按鈕事件。
首先,我們需要設(shè)置變量來(lái)獲取點(diǎn)擊一個(gè)數(shù)字按鈕的值,以便在“=”按鈕單擊事件中計(jì)算最終的結(jié)果。下面就是我開(kāi)始的時(shí)候?qū)懙囊欢未a:
復(fù)制代碼代碼如下:
public double? value1 = null ;//獲取運(yùn)算符前的數(shù)值
public double? value2 = null ;//獲取運(yùn)算符前的數(shù)值
public type caltype=type .none ;//獲取運(yùn)算符
private void btnvalue1_Click(object sender, EventArgs e)
{
if (value1 == null)
{
value1 = Convert.ToDouble(btnvalue1.Text);
}
else
{
value2 = Convert.ToDouble(btnvalue1.Text);
}
this.txtvalue.Text = btnvalue1.Text;
}“1”按鈕的單擊事件
一共有十個(gè)這樣的數(shù)字鍵按鈕單擊事件
是不是覺(jué)得這樣寫(xiě)很麻煩,于是就有了按鈕注冊(cè)事件。下面是我后面下的一段代碼:
復(fù)制代碼代碼如下:
public double? value1 = null ;//獲取運(yùn)算符前的數(shù)值
public double? value2 = null ;//獲取運(yùn)算符后的數(shù)值
public type caltype=type .none ;//獲取運(yùn)算符
private void Form1_Load(object sender, EventArgs e)
{
btnvalue0.Click += new EventHandler(btnvalue_Click);
btnvalue1.Click += new EventHandler(btnvalue_Click);
btnvalue2.Click += new EventHandler(btnvalue_Click);
btnvalue3.Click += new EventHandler(btnvalue_Click);
btnvalue4.Click += new EventHandler(btnvalue_Click);
btnvalue5.Click += new EventHandler(btnvalue_Click);
btnvalue6.Click += new EventHandler(btnvalue_Click);
btnvalue7.Click += new EventHandler(btnvalue_Click);
btnvalue8.Click += new EventHandler(btnvalue_Click);
btnvalue9.Click += new EventHandler(btnvalue_Click);
//通過(guò)EventHandler將按鈕控件的Click事件
綁定到 btnvalue_Click上面,從而動(dòng)態(tài)注冊(cè)按鈕事件
}
private void btnvalue_Click(object sender, EventArgs e)
{
Button btn =(Button)sender ;
//實(shí)例化按鈕,從而獲取當(dāng)前單擊按鈕的值
if (value1 == null)
{
value1 = Convert.ToDouble(btn.Text);
}
else
{
value2 = Convert.ToDouble(btn.Text);
}
this.txtvalue.Text = btn.Text;
}
是不是覺(jué)的比以前簡(jiǎn)單多了。。。。。(要源碼的話請(qǐng)聯(lián)系我 QQ:342468914)