C# Проверка, была ли нажата кнопка во второй раз - PullRequest
3 голосов
/ 07 февраля 2020

Я хочу проверить, нажата ли кнопка с c#

вот так

private void btnFillo_Click(object sender, EventArgs e)
{
    btnFillo.Text = "text";

  //  if (btnFillo clicked again) {
        // do something
  //  }
}

Ответы [ 3 ]

1 голос
/ 07 февраля 2020
      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;
      }

, если вы хотите что-то сделать только вторым кликом, просто используйте логическое значение:

      private bool  isClicked = false;
      private void btnFillo_Click (object sender, EventArgs e) {
         btnFillo.Text = "text";

         if (isClicked) {
         // do something
            isClicked = false;
         } else isClicked = true;
      }
0 голосов
/ 07 февраля 2020

спасибо всем за помощь в решении моей проблемы ... Я выкладываю код для других, если им это нужно.

private int clickCounter = 0;
        private void btnFillo_Click(object sender, EventArgs e)
        {

            if(clickCounter == 0 ) {
                // first time click
                btnFillo.Text = "text";
                clickCounter++;
            }
            else if (clickCounter == 1)
            {
                // second time click
                btnFillo.Text = "heeeeellll";
                clickCounter++;
            }
            else if (clickCounter == 2)
            {
                // third time click
                btnFillo.Text = "change 2";
                clickCounter = 0;
            }
            else // you can do more if you want more clicks
            {
                clickCounter += 1;

            }
        }
0 голосов
/ 07 февраля 2020

Вы должны сохранить щелчок в глобальной переменной, такой как

clicked += 1

, где переменная clicked является глобальной переменной (var clicked = 0). И после:

if(clicked > 1)

или используйте Control.MouseDoubleClick Event: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.mousedoubleclick?redirectedfrom=MSDN&view=netframework-4.8

...