Member 13931232 Ответов: 1

Как я могу остановить свой таймер, когда я проверил от одной формы к другой


Мне нужен код, чтобы я мог остановить таймер, когда я проверяю из одной формы в другую, и когда когда-либо новое значение будет дано форме, таймер должен обновить время.

Что я уже пробовал:

частная timer1_Tick_1 недействительным(объект отправителя, EventArgs в электронной)
{если (элемент textbox1.Включен = истина)
{
если (timer2.Включен = истина)
{

это.progressBar1.Инкремент(1);

это.progressBar2.Инкремент(0);
}
остальное, если (элемент textbox1.Включен = ложь)
{
если (timer2.Включен = истина)
{
это.progressBar1.Инкремент(0);

это.progressBar2.Инкремент(1);
}
}
Теперь датавремя = Датавремя.Сейчас;
этикетка 1.Текст = сейчас.ToString("dd-MM-yyyy hh:mm:sszzz");
// label1.Text = DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss");
} }

CHill60

Непонятно, что вы подразумеваете под "проверкой из одной формы в другую" и где "дается новое значение" - попробуйте объяснить свою проблему немного подробнее

1 Ответов

Рейтинг:
0

Member 11833878

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

public class MyCommon
{
    private static DispatcherTimer myTimer;

    public static void StartNewTimer()
    {
        myTimer = new DispatcherTimer
        {
            Interval = new TimeSpan(0, 0, 1)
        };
        myTimer.Tick += (s, a) =>
        {
            // I am ticking here
        };
        myTimer.Start();
    }

    public static void StopTimer()
    {
        myTimer.Stop();
    }
}

public class MyA
{
    public MyA()
    {
        StartFromA();
    }

    public void StartFromA()
    {
        MyCommon.StartNewTimer();
    }
}

public class MyB
{
    public MyB()
    {
        StartFromA();
    }

    public void StartFromB()
    {
        MyCommon.StopTimer();
    }
}