我想在表格中而不是在屏幕中获取光标,我知道我需要使用:
Point ptCursor = Cursor.Position;
ptCursor = PointToClient(ptCursor);
问题是我在用于不同线程的方法中使用了此方法,并且它给了我此错误消息:
Cross-thread operation not valid: Control 'Form1' accessed from a thread other than the thread it was created on.
为什么我收到此错误消息?
我可以在线程上运行的方法中使用此行吗?
如何在几秒钟内调用在表单线程上运行的方法?
最佳答案
您需要在GUI线程上分派(dispatch)PointToClient操作:
this.Invoke(new Action(() => ptCursor = PointToClient(ptCursor)));
关于c# - 光标形式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8489118/