2017-10-18 11 views
0

クリックイベント:スイッチボタンをクリックして、ボタンが1回以上クリックされたかどうかを確認するにはどうすればよいですか?

List<string> listv; 
    private void Test() 
    { 
      for (int i = 0; i < random.Next(20,1000); i++) 
      { 
       string rand = RandomString(200); 
       ListViewCostumControl.lvnf.Items.Add(rand); 
      } 
      textBox4.Enabled = true; 

      listv = ListViewCostumControl.lvnf.Items.Cast<ListViewItem>() 
          .Select(item => item.Text) 
          .ToList(); 

      ListViewCostumControl.lvnf.Items.Clear(); 
      textBox4.Enabled = false;    
    } 

私は何をしたいが、私はボタンを初めてクリックすると、テスト中に一部だけを行いますされています:

private void testToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      Test(); 
     } 

私はそれがテストを呼び出していますクリックすると

for (int i = 0; i < random.Next(20,1000); i++) 
       { 
        string rand = RandomString(200); 
        ListViewCostumControl.lvnf.Items.Add(rand); 
       } 
       textBox4.Enabled = true; 

       listv = ListViewCostumControl.lvnf.Items.Cast<ListViewItem>() 
           .Select(item => item.Text) 
           .ToList(); 

ボタンをもう一度クリックすると、2番目の部分が作成されます。

ListViewCostumControl.lvnf.Items.Clear(); 
textBox4.Enabled = false; 

また、もう一度スイッチをクリックし、テストのもう一方の部分を作成します。

答えて

1

このようなものはありますか?ボタンがクリックされた回数のカウンタを保持します。 2つのオプションしかないので、_clickCounterが奇数か2つの機能を切り替えることができるかどうかを確認するのに十分です。

編集:ボタンがクリックされた回数を追跡するのに気をつけず、2つのオプションしかない場合は、_clickCounterをブール値に変更することができます。

private int _clickCounter = 0; 
private void testToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    if(_clickCounter % 2 == 0) 
    { 
     Test(); 
    } 
    else 
    { 
     Clear(); 
    } 
    _clickCounter++; 
} 

private void Test() 
{ 
    for (int i = 0; i < random.Next(20,1000); i++) 
    { 
     string rand = RandomString(200); 
     ListViewCostumControl.lvnf.Items.Add(rand); 
    } 
    textBox4.Enabled = true; 

    listv = ListViewCostumControl.lvnf.Items.Cast<ListViewItem>() 
         .Select(item => item.Text) 
         .ToList();  
} 

private void Clear() //whatever you want to name it 
{ 
    ListViewCostumControl.lvnf.Items.Clear(); 
    textBox4.Enabled = false;  
} 
関連する問題