2013-02-22 138 views
0

我做了一個計算總價格的應用程序,我希望當點擊按鈕時,它將數量加1,但它只加1,當我再次單擊按鈕時,它不會不添加,有沒有辦法循環按鈕?當點擊按鈕時添加數字

這裏是我的示例代碼

int intclicks; 

private void button10_Click(object sender, EventArgs e) 
{ 

    intclicks++; 
    int qty = 1; 
    { 
     if (intclicks > 0) 
     { 
      int totalqty; 
      totalqty = qty + 1; 
      textBox3.Text = totalqty.ToString(); 
      totalPrice(); 
     } 
    } 

} 

totalPrice();套在另一個textBox, 感謝顯示總價。

+1

我將'loop'標記改爲'events',這裏沒有循環。 – gdoron 2013-02-22 07:50:23

回答

2

您在事件開始時分配了qty =1,因此,它從頭開始。

有太多的缺少在這裏,但好像你可以使用:

int qty = int.Parse(textBox3.Text); 
... 
+0

我將它作爲默認'qty'值,所以如果按鈕沒有被點擊,它將會是1 – Pyromancer 2013-02-22 07:48:15

+0

@AlfredSanz,不,你讓它成爲唯一值... – gdoron 2013-02-22 07:48:54

+0

謝謝!它完美的作品!:) – Pyromancer 2013-02-22 07:49:18

0

當你點擊一個GUI程序的按鈕,一次觸發事件。在ClickEvent中循環似乎不是很有用,因爲它會阻塞主線程,所以你的UI會凍結。 你可以啓動一個在後臺循環的線程。有關線程,請參閱MSDN。 請進一步解釋你想達到什麼。

0

這是因爲你已經在你的循環開始之前設置了int qty = 1,並且在你檢查if(intclicks> 0)的if條件中。所以當你第一次點擊按鈕時,它會檢查是否(intclicks> 0),但是當你設置qty = 1時,條件將是錯誤的,並且它不會進入if條件。如果條件

if (intclicks >= 1) 
0

我覺得你的邏輯是一點點在這裏爲了什麼(我相信)你想這樣做改變,爲什麼不嘗試。

int intclicks; 
int totalqty; 

private void button10_Click(object sender, EventArgs e) 
{ 

    intclicks++; 
    if (intclicks > 0) 
    { 
     totalqty++ 
     textBox3.Text = totalqty.ToString(); 
     totalPrice(); 
     intclicks = 0; 
    } 
} 
相關問題