2017-10-18 62 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;  
}