Вместо использования for
цикла, использовать рекурсию и передать текущее значение счетчика в функции:
void checkBoxMethod (object sender, EventArgs args)
{
CheckBox box = (CheckBox)sender;
int number = (int)box.Tag;
myRecursiveMethod(number);
}
private void myRecursiveMethod(int count)
{
//do whatever stuff I need to do
if (!timeToExitTheMethod)
myRecursiveMethod(count++);
}
Вы не дали нам никакого объяснения точно , что вы делаете в вашей for
петли и ваш вопрос не имеет большого смысла (т. е. что вы делаете с CheckBoxes?), поэтому я не могу быть очень конкретным с моим примером кода. Обратите внимание, что вам придется закодировать точку выхода для рекурсивного метода (иначе он будет вызываться до тех пор, пока вы не получите переполнение стека).
Если вы просто хотите посчитать, сколько раз функция была вызвана, то сделать это:
public class MyClass
{
private int _myCounter = 0;
void checkBoxMethod (object sender, EventArgs args)
{
CheckBox box = (CheckBox)sender;
//do whatever you need to do
_myCounter++;
}
}
Если быть более точным с вашими требованиями, то мы можем быть более точным с нашими предложениями.
Как я могу выполнить «обработчик событий», вы можете передать переменную отправителя флажку, отбросив свойство тега флажка до целого числа «эта часть? Извините, мне просто нужно немного больше инструкций –
Нет проблем, я разъяснил выше. –