2015-01-04 93 views
0

我在Windows窗體應用程序上製作了一個應用程序,並且我被困在某個點上。當if語句發生時在標籤上添加數字

順便說一句,我是一個初學者在編程。

我把我的代碼在這裏:

 if (random.Next(3) == schat) 
     { 
      using (Graphics graphics = pictureBox1.CreateGraphics()) 
      { 
       graphics.DrawImage(Properties.Resources.Schat, ClientRectangle); 
      } 

      MessageBox.Show("Hoera je hebt extra geld gevonden", "zoektocht"); 
      lblTotaalGeld.Text = Convert.ToString(100); 
      double totaalGeld = Convert.ToDouble(lblTotaalGeld.Text)/100; 
      lblTotaalGeld.Text = Convert.ToString("€" + lblTotaalGeld.Text); 



      btnZoektocht.Enabled = false; 
     } 

我想創建是當這個「如果」語句,將出現第二次。我想額外的100美元添加到銀行帳戶。目前我只有100個,沒有增加。

我希望我做提前

+0

A),如果100是靜態的,你爲什麼將其轉換字符串比翻番? B)什麼是「當這個」如果「第二次發生」的邏輯「 - >它似乎沒有在這裏做 – LordTitiKaka 2015-01-04 12:41:53

+0

我明白你的意思。在此之前,我嘗試過: int money = 100; int TotalMoney = Convert.ToInt32(lblTotalMOney.text); TotalMoney = TotalMoney + money; lblTotaleMoney.Text = totalMoney.ToString(); 如果我這樣做,那麼我會得到關於第二行的錯誤。它不能轉換某些日期時間,我應該解析它。但我不明白他們的意思:(我的「編程」的英語並不好。我只是想100和100添加事件時,對銀行賬戶發生 – 2015-01-04 13:00:20

+0

你要100金幣添加到您的標籤每次或僅第二次。如果你只需要100金增加了第二個時間,你想不想發生後第一時間或時間是什麼? – Hayden 2015-01-04 13:00:36

回答

0

你可以通過幾種不同的方式來解決這個問題,但我會這樣建議。

商店中有什麼variable/property您的標籤內的methodif-statement(全局變量)的範圍

外界對於Variable的例子值,你可以像

private double totalGold = 0.0; 

或者一個Property你可以有類似於此

東西

注意:既然你說你是初學者,這些例子中的第一個可能會更好地理解這個概念。

還要注意:您需要(private/public)和你的variable/property名之間添加static,如果你是在一個static class或您main class這樣做。

兩種方式的實現都是一樣的。只要我們輸入這個if-statement,我們所做的就是更新這個totalGold值。

您當前if-statement可能看起來像的返工:

if (random.Next(3) == schat) 
    { 
     using (Graphics graphics = pictureBox1.CreateGraphics()) 
     { 
      graphics.DrawImage(Properties.Resources.Schat, ClientRectangle); 
     } 

     totalGold += 100.0; // NEW LINE 

     MessageBox.Show("Hoera je hebt extra geld gevonden", "zoektocht"); 
     lblTotaalGeld.Text = Convert.ToString("€" + totalGold); 

     btnZoektocht.Enabled = false; 
    } 
+0

非常感謝之外。我確實需要在該方法之外設置此變量。如果我是對的,如果我確實把它放在方法中。該值每次都會重置爲0。我覺得:) 感謝您的回覆 – 2015-01-04 13:41:28

+0

你在說,如果你有'如果-statement'的範圍內聲明一個變量的值將重置是正確的。 – Hayden 2015-01-04 13:42:39

0
double totaalGeld = 0; 

感謝根據這個if語句是如何存在的,你可以在代碼的開頭或作爲一個全局變量把這個變量

if (random.Next(3) == schat) 
     { 
      using (Graphics graphics = pictureBox1.CreateGraphics()) 
      { 
       graphics.DrawImage(Properties.Resources.Schat, ClientRectangle); 
      } 

      MessageBox.Show("Hoera je hebt extra geld gevonden", "zoektocht"); 
      totaalGeld += 100.0; 
      lblTotaalGeld.text = totalGold.ToString(); 
     } 

現在每次這個if聲明時,totaalGeld將由100遞增,標籤lblTotaalGeld顯示相應的號碼

希望這會有所幫助,並會引導你到你的解決方案!

+0

感謝。它的工作!我需要把變量totalGold方法:) – 2015-01-04 13:41:57