如何制作切换按钮并检查按钮是否被点击了一次?

时间:2017-10-18 16:50:25

标签: c# .net winforms

点击事件:

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

我想要做的是当我第一次点击按钮时只做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; 

然后每次点击切换并将其他部分放入测试中。

1 个答案:

答案 0 :(得分: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;      
}