Screen.PrimaryScreen并不总是有效的,因为在多显示器设置中,用户可能会将任务栏移动到非主要屏幕上。找到工作区最小的屏幕也不起作用,因为可能有不同分辨率的监视器。 有没有办法定位带有任务栏的屏幕?
你可以使用一些Windows API调用实现这个功能:http://winsharp93.wordpress.com/2009/06/29/find-out-size-and-position-of-the-taskbar/。通过这种方式,你可以利用WorkingArea确定任务栏在哪个屏幕上。
我明白你所说的屏幕分辨率不同的问题(尽管我认为Windows需要所有监视器具有相同的分辨率) 但是,您可以将WorkingArea与实际屏幕区域(Screen.Bounds)进行比较,如果WorkingArea小于Bounds,则应该知道您正在测试的屏幕具有以下属性之一: 任务栏 停靠窗口 停靠工具栏