У меня есть индикатор выполнения в главной форме, и в нем есть метод с именем MethodA()
. Внутри этого methodA()
он вызывает другой метод Class1.MethodB()
, а внутри этого methodB()
он вызывает другой метод Class2.MethodC()
. И это MethodC()
вызывает другой метод Class3.MethodD()
. Во всех этих методах происходит какой-то длительный процесс:
class MainForm : Form
{
void MethodA()
{
// ...
instanceOfClass1.MethodB();
// ...
}
}
class Class1
{
void MethodB()
{
// ...
instanceOfClass2.MethodC();
// ...
}
}
class Class2
{
void MethodC()
{
// ...
instanceOfClass3.MethodD();
// ...
}
}
Вызовы методов - это все вызовы методов экземпляра, а не вызовы stati c.
Как я могу обновить индикатор выполнения значение здесь? Когда кнопка щелкает, индикатор выполнения должен запускаться и заканчиваться, когда Class3.MethodD()
останавливает выполнение?
Как мы можем обновить индикатор выполнения, который находится в главной форме, из других классов? Я не могу создать экземпляр главной формы и передать в качестве аргумента каждому классу. В основной форме много других элементов управления.