【发布时间】:2009-12-07 21:55:27
【问题描述】:
我创建了一个应用程序,它在每个监视器上显示一个最顶部的窗口,以覆盖所有可用的位置。
然后,我想允许在窗口上绘制一个矩形。所以,我创建了一个矩形,当鼠标移动和鼠标点击时我添加到窗口中...... 这是有效的,除非我正在绘制一个从一个窗口开始并在另一个窗口结束的矩形。当然,因为不是同一个窗口……
如何允许同时在两个窗口上绘图?
感谢您的帮助,
【问题讨论】:
标签: c# windows drawing fullscreen
我创建了一个应用程序,它在每个监视器上显示一个最顶部的窗口,以覆盖所有可用的位置。
然后,我想允许在窗口上绘制一个矩形。所以,我创建了一个矩形,当鼠标移动和鼠标点击时我添加到窗口中...... 这是有效的,除非我正在绘制一个从一个窗口开始并在另一个窗口结束的矩形。当然,因为不是同一个窗口……
如何允许同时在两个窗口上绘图?
感谢您的帮助,
【问题讨论】:
标签: c# windows drawing fullscreen
您可以创建一个横跨两个屏幕的窗口。
使用 System.Windows.Forms(或 WPF 中的任何位置)中的 Screens 集合和 WorkingArea 属性来计算窗口的正确范围。
注意多显示器设置,其中主屏幕位于辅助屏幕的另一侧,或者屏幕堆叠在一起。
我们在我们的应用程序中成功地做到了这一点。
【讨论】:
另一种(可能更好)的方法是将矩形的数据存储在模型类中(使用 MVVM 方法)。然后每个视图查看虚拟画布的一个单独部分。通过这种方式,他们都可以听取模型中数据的更新并相应地绘制他们的显示部分。
【讨论】: