2017-04-13 5 views
-1

テキストボックス(txtResults)に数値(2から12まで)を追加すると、結果がリストボックス(lstTables)に表示されないのはなぜですか?リストボックス(C#)で結果を表示するのが難しい

はここに私のコードの外観です:

ループは任意のロジックを持っていないため、私はあなたが必要だと思うあなたの
public partial class Form1 : Form 
    { 
     int table = 0; 
     int result; 

     public Form1() 
     { 

      InitializeComponent(); 
     } 

     private void btnExit_Click(object sender, EventArgs e) 
     { 
      this.Close(); 
     } 

     private void btnDisplay_Click(object sender, EventArgs e) 
     { 
      for (int number = 1; number == 12; number++) 
      { result = number * table; 
       lstTables.Items.Add(result); 
      } 

     } 

     private void lstTables_SelectedIndexChanged(object sender, EventArgs e) 
     { 

     } 

     private void txtResults_TextChanged(object sender, EventArgs e) 
     { 

     } 

     private void lblResults_Click(object sender, EventArgs e) 
     { 

     } 
    } 
} 
+5


はちょうどこのような何かを第二の問題を解決するには。ループが継続するためには条件が真でなければならず、ループが終了するためには偽が必要です。 'number == 12'は常にfalseです。 – dlatikay

+1

forループを 'for(int number = 1; number <= 12; number ++)に変更します。 – Nino

+0

forループの中間文は、次の繰り返しに移動するためにtrueまたはfalseを返す必要があります。あなたは 'number == 12'を入れました。これは常にfalseです。つまり、あなたのループは決して動かないでしょう。それが理にかなってほしい。 –

答えて

3

、これと

for (int number = 1; number <= 12; number++) 
{ 
    result = number * table; 
    lstTables.Items.Add(result); 
} 

また、テーブル値が0であることから、

0

Forループがホースされています。

for (int number = 1; number == 12; number++) 
      { result = number * table; 
       lstTables.Items.Add(result); 
      } 

これは「for startvalue; endingvalue; iterator」ではありません。限り、これが真の値があるとして引き続き実行;それはstartingvalueのために、」だ

for (int number = 1; number < 12; number++) 
       { result = number * table; 
        lstTables.Items.Add(result); 
       } 
0

;.イテレータはあなたが0値であるための2つの理由12の結果を得る:

  1. table0x * 0 = 0に設定されているが、
  2. 各繰り返しで上書きされる同じ値を再割り当てするのではなく、あなたの各アイテムに上書きされますlstTables

最初の問題を解決するには、tableの値を2のように設定してください。なぜならforループ内の条件の

​​
関連する問題