ошибка «значение 0 не является допустимым значением» - PullRequest
0 голосов
/ 24 января 2020

РЕДАКТИРОВАНИЕ:

Я пишу автокликер, и он почти готов, но у него странная проблема ...

в событии btnStart я написал:

if (listViewPositions.Items.Count == 1)
{
    ClickIntervalStr1 = (listViewPositions.Items[(1) - 1].SubItems[(3) - 1].Text).ToString();
    ClickIntervalNum1 = Convert.ToInt32(ClickIntervalStr1);
    LeftOrRightClickStr1 = (listViewPositions.Items[(1) - 1].SubItems[(4) - 1].Text)
        .ToString();
    SingleOrDoubleClickStr1 = (listViewPositions.Items[(1) - 1].SubItems[(5) - 1].Text)
        .ToString();
}

и в таймере (clickprocess) я написал:

timerClickProcessStopAfterXTimes.Interval = ClickIntervalNum1;

, но когда я нажимаю кнопку запуска, он получает эту ошибку: «Значение '0' не является допустимым значением для интервала. Интервал должен быть больше 0 . "

я уверен, что все в порядке, но почему эта ошибка появляется?!

вот фотографии:

enter image description here

enter image description here

enter image description here

пожалуйста, помогите ...

ИСПРАВЛЕНО:

Мне просто нужно было написать 4 строки кодов от listViewPositions.Items.Count == 1 до listViewPositions.Items.Count == 2, а также другие ...

1 Ответ

2 голосов
/ 24 января 2020

«Значение '0' не является допустимым значением для интервала. Интервал должен быть больше 0."

Очевидная причина - ClickIntervalNum1 = Convert.ToInt32(ClickIntervalStr1);. Значение ClickIntervalStr1 очевидно для 0 ...

Microsoft говорит следующее о свойстве Interval:

Время в миллисекундах между истекшим Мероприятия. Значение должно быть больше нуля и меньше или равно MaxValue. По умолчанию установлено значение 100 миллисекунд.

Чтобы это исправить, просто убедитесь, что оно больше 0 ... (простой пример):

 timerClickProcessStopAfterXTimes.Interval = ClickIntervalNum1 > 0 ? ClickIntervalNum1 : 100;

Ссылки:

Свойство Timer.Interval System.Timers

...