在调试会话中,Cursor.Position = {X = 1867 Y = 538}
和Screen.FromPoint(Cursor.Position)
返回一个边界为{X = 0 Y = 0 Width = 1366 Height = 768}
的{{3}}对象。
如果我停用第一个屏幕,则Screen对象的边界为{X = 0 Y = 0 Width = 1680 Height = 1050}
(第二个屏幕的分辨率比第一个屏幕大)。
因此,我看到Screen.Bounds矩形没有告诉我相对于包括两个屏幕的全局分辨率的屏幕矩形,但是它告诉了我使用X = Y = 0
的屏幕大小。 / p>
问题是光标位置{X = 2203 Y = 579}
应该在第二个屏幕上。我想到了可能性:
启用或禁用第一屏/第二屏,我都有相同的问题:
MyListView.PointToClient(Cursor.Position)
以{X = 1787 Y = -79}
返回的点,Y
为负,将无法在鼠标光标下找到ListViewItem。
MyListView.Bounds = {X = 3 Y = 38 Width = 406 Height = 219}
。
我移动了固定在第一个屏幕左上角的程序窗口,并且发生了同样的事情,Cursor.Position为{X = 2231 Y = 571}
。
答案 0 :(得分:0)
现在我看到在调试时,Cursor.Position
被更新(当执行被锁定在断点时它不会被锁定)。
最后,问题是我检查了一个变异数不等于-1,而不是等于-1。