Невозможно передать значение из кнопки в функцию таймера - PullRequest
0 голосов
/ 23 февраля 2020

Я пытаюсь передать переменное время из easy_click в RunTimer_tick. Это то, что я сделал, но это не работает:

public void RunTimer_Tick(object sender, EventArgs e, int time )
{
    RunTimer.Interval = time;
    target();
}

private void Target_Click(object sender, EventArgs e)
{
    scoring();
}

public int easy_Click(object sender, EventArgs e)
{
    int time = 2000;
    return time;
}

1 Ответ

3 голосов
/ 23 февраля 2020

Вы не можете изменить подпись метода таймера. Вы должны придерживаться подписи, ожидаемой таймером, и это без дополнительного аргумента int time.

То же самое относится к обработчику событий нажатия кнопки. Обработчик событий ожидает заданную подпись, и вы не должны изменять ее, поэтому вы не можете изменить возвращаемое значение на int.

Если я правильно понял назначение кода, вы просто хотите изменить интервал таймера при нажатии кнопки «легко». Это можно записать так:

public void easy_Click(object sender, EventArgs e)
{
    RunTimer.Interval = 2000;
}

Затем вы удалите параметр time из метода тиков таймера:

public void RunTimer_Tick(object sender, EventArgs e)
{
    target();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...