2017-10-18 63 views
0

click事件:我該如何製作一個開關按鈕並檢查按鈕是否被點擊過一次?

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

一旦我點擊它調用測試:

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;    
    } 

什麼我想要做的,當我點擊按鈕,第一次做的只是部分測試是:

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; 

然後再次每次單擊切換並使其他部分處於測試狀態。

回答

1

這樣的事情?保持一個計數器,點擊按鈕的次數。由於您只有兩個選項,因此它足以檢查_clickCounter是否爲奇數,或者甚至在兩個功能之間切換。

編輯:如果您不關心按鈕被點擊了多少次,並且只會有兩個選項,您可以將_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;  
} 
相關問題