Я пытаюсь добавить оверлейные часы в программу, которая в основном отображает время. Тем не менее, он также открывает Powerpoint Shows, которые выступают в качестве рекламы. Я добавил второе отображение времени через форму и метку поверх powerpoint, но, поскольку я полагаюсь на функцию Process.WaitForExit (), я не могу обновить часы во время работы powerpoint. Как мне это решить?
Как выглядит код powerpoint:
PptxClock p = new PptxClock();
Process powerPoint = new Process();
//Start the time display over the powerpoint slides
p.Show();
//Now it's time to open the powerpoint
powerPoint.StartInfo.FileName = ppfile;
powerPoint.Start();
// increment the counter so next iteration we play the next file in the list
slidetoplay += 1;
powerPoint.WaitForExit();
//The powerpoint should be over by this point. Disable the clock now.
p.Close();
То, что я хочу запустить во время powerPoint.WaitForExit ():
private Timer ChangeTime;
//Run SetPos and WhatWeek as soon as the form loads
private void PptxClock_Load(object sender, EventArgs e)
{
UpdateTime();
SetTimer();
}
public void UpdateTime()
{
OverlayTime.Text = "Time: " + DateTime.Now.ToString("h:mm:ss") + ".";
}
//Set the timer
private void SetTimer()
{
ChangeTime = new Timer
{
Enabled = true,
Interval = 500
};
ChangeTime.Tick += new EventHandler(ChangeTime_Tick);
ChangeTime.Start();
}
//Update the time every tick. We only need the time for this simple form.
//The timer declaration is required to do this.
private void ChangeTime_Tick(object sender, EventArgs e)
{
OverlayTime.Text = "Time: " + DateTime.Now.ToString("h:mm:ss") + ".";
Console.WriteLine(DateTime.Now.ToString("h:mm:ss"));
}
Я просто хочу иметь возможность изменить содержимое метки времени формы p.