我该如何制作一个开关按钮并检查按钮是否被点击过一次?
问题描述:
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;
然后再次每次单击切换并使其他部分处于测试状态。
答
这样的事情?保持一个计数器,点击按钮的次数。由于您只有两个选项,因此它足以检查_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;
}