2017-09-09 9 views
-3

わかりました。これを簡単な例で説明しようとしています。 counterの最初の値は0になります。 label1は、button1をクリックするまで表示されません。私の問題は、最初にbutton1をクリックすると、0の代わりに0が表示されるということです。意味button1で2回クリックする必要があり、「1」が表示されます。 (私はC#にはかなり新しいですので、専門用語下さい= Pは使用しないでください)カウンタが時間通りに開始しない

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     label1.Visible = false; 
    } 
    int counter = 0; 
    private void button1_Click(object sender, EventArgs e) 
    { 
     label1.Visible = true; 
     label1.Text = "number " + counter; 
     counter++; 
    } 
} 
+2

あなたはあなたのコードが何をしているのか正確に説明します...文字列に 'counter'(これは' 0'です)を追加するので、何を期待しましたか?おそらく、あなたは 'counter ++' ** ** before ** 'label1.Text =" number "+ counter;'をやりたかったでしょうか? –

答えて

3

をあなたのクリック方法をよく見て:

private void button1_Click(object sender, EventArgs e) 
{ 
    label1.Visible = true; 
    label1.Text = "number " + counter; 
    counter++; 
} 

あなたは(現在)を割り当てる最初ですcounterからlabel1.Textの値の場合は、をインクリメントします。スワップステートメント2及び3:

private void button1_Click(object sender, EventArgs e) 
{ 
    label1.Visible = true; 
    counter++; 
    label1.Text = "number " + counter; 
} 
0

いずれか:

  • 初期カウンタインクリメント
  • 1のカウンタそれ

    ます。Label1.Text = "番号" を示す前に+(++カウンタ).ToString();

又は

counter++; 
label1.Text = "number " + counter.ToString(); 
  • 使用(カウンタ+ 1)あなたの値として

    ます。Label1.Text = "番号" +(カウンタ+ 1).ToString();

関連する問題