我想检查是否用c#单击了按钮
喜欢这样
private void btnFillo_Click(object sender, EventArgs e)
{
btnFillo.Text = "text";
// if (btnFillo clicked again) {
// do something
// }
}
您必须将点击保存在全局变量中,例如
clicked += 1
其中clicked变量是全局变量(var clicked = 0)。之后:
if(clicked > 1)
或使用Control.MouseDoubleClick事件:https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.mousedoubleclick?redirectedfrom=MSDN&view=netframework-4.8
private int clickCounter = 0;
private void btnFillo_Click (object sender, EventArgs e) {
btnFillo.Text = "text";
if (clickCounter >= 1) {
// do something
clickCounter = 0;
}
else clickCounter += 1;
}
如果按钮具有单击事件,从而导致大量处理,则用户有可能在处理完成之前多次单击按钮(错误等)。
我找不到可以实现此目标的任何属性。我遵循以下解决方法之一。
选项1:
您还可以在单击按钮后立即禁用它,直到操作完成。
private void btnFillo_Click(object sender, EventArgs e)
{
btnFillo.Enabled = false
// Perform some operation
btnFillo.Enabled = true
}
选项2:
如果您不认为这是过度杀伤力,那么您还可以为每个按钮创建一个属性,以检查按钮是否已被单击,如下面的代码所示。
private void button1_Click(object sender, EventArgs e)
{
lock(someLock)
{
if( clickAlreadyEntered )
return;
else
clickAlreadyEntered = true;
}
// Do the processing....
lock(someLock)
{
clickAlreadyEntered = false;
}
}
希望这可以帮助您找到适合您情况的正确答案。