使用下面的代码,我想将屏幕上的光标移动到可以正常工作的点(200,200),但是当我移动鼠标(用我的手)时,光标会立即返回到其原始位置.我究竟做错了什么? 我在Linux主机上运行的KVM虚拟机
我在Linux主机上运行的KVM虚拟机上运行XP – 这不应该影响该程序的运行方式.
我也尝试了各种公告板建议的其他方法,但它们都得到了同样的效果.
公共类Form1
Private Sub Form1_Load(ByVal sender As Object,ByVal e As System.EventArgs)Handles Me.Load
System.Windows.Forms.Cursor.Position =新点(200,200)
结束子
结束班
谢谢您的意见.
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class Form1 Inherits Windows.Forms.Form ' Inherits System.Windows.Forms.Form 'Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.SuspendLayout() ' ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(292, 266) Me.Name = "Form1" Me.Text = "Form1" Me.ResumeLayout(False) End Sub End Class Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim abc As New Point abc.Offset(200, 200) Cursor.Position = PointToScreen(abc) End Sub End Class
上面的部分类是由集成开发环境生成的.最后一节仅包含您建议的代码.所以我没有做任何事情
“鼠标移动”事件.但是,在过去的测试中,我为鼠标移动创建了一个受保护的覆盖子,我的代码将在调试模式中逐步执行此子
当我移动光标.这背后的想法,如果我覆盖基类中的sub – 我可以阻止它在基类中做任何事情
用鼠标移动(例如将光标移回原位).但我不确定我的覆盖类是否阻止了这一点
或者光标被基类中的另一个方法移回原来的位置 – 我看不到.
是否有可能能够调试并步入作为基类一部分的代码 – 这样我就可以确切地看到发生了什么.目前,当我踏入
调试,它只显示我的类中的方法而不是基类中的方法.