我有一个WPF应用程序,该应用程序需要生成当前打开的窗口的屏幕截图,但是每个窗口都必须具有自己的DispatcherTimer,在该位置上,在Tick事件上生成图像。每个窗口都有自己的间隔。问题是我从数据库中获取窗口列表,所以我在运行时不知道需要创建多少个DispatcherTimers。所以我不知道我需要写多少个Tick事件处理程序。
有人可以给我看一个例子吗,这个例子可以根据窗口数动态变化?到目前为止,这是我能想到的。我的Windows列表来自组件:
private List<DispatcherTimer> m_dispatcherTimers;
m_mimicGroupsToCapture = SystemConfigurationComponent.GetViewCaptureMimicGroups();
foreach (var mimicGroup in m_mimicGroupsToCapture)
{
m_dispatcherTimers.Add(new DispatcherTimer { Interval = TimeSpan.FromSeconds(Convert.ToInt32(mimicGroup.CaptureIntervalInSeconds))});
// Assign event handler to this instance's Tick event.
}
// Start all timers.
foreach (var dispatcherTimer in m_dispatcherTimers)
{
dispatcherTimer.Start();
}