这么难的问题才5分?给你思路:VB.NET改变鼠标形状的唯一方法就是加载图片,但是因为你要求“横向和纵向都到达PictureBox的边界”,也就是说,这个图片必须跟着鼠标移动而变化,显然这是无法做到的。
成都创新互联是一家集网站建设,江川企业网站建设,江川品牌网站建设,网站定制,江川网站建设报价,网络营销,网络优化,江川网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
因此,可以先将鼠标指针隐藏,然后根据鼠标的当前位置,在PictureBox中画十字线,鼠标移动后,将前面画的线擦除,然后在新位置重新画。
为了不擦除PictureBox中已有的图像,在画十字线之前,先保存十字线所覆盖像素点的值,擦除的时候,恢复这些值就可以了。
首先需要一个判断鼠标位置的api,然后单位时间进行判断,如果某时间鼠标的位置超出了窗体,则用另一个api来设置鼠标位置
这个都不难理解?详情可查看vbgood的api手册
调用api
在Visual Baisc.net中的声明:
Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Const MOUSEEVENTF_LEFTDOWN = H2 '模拟鼠标左键按下
Public Const MOUSEEVENTF_LEFTUP = H4 ’模拟鼠标左键释放
Public Const MOUSEEVENTF_MIDDLEDOWN = H20 '模拟鼠标中间键按下
Public Const MOUSEEVENTF_MIDDLEUP = H40 '模拟鼠标中间键释放
Public Const MOUSEEVENTF_RIGHTDOWN = H8 '模拟鼠标右键按下
Public Const MOUSEEVENTF_RIGHTUP = H10 '模拟鼠标右键释放
Public Const MOUSEEVENTF_MOVE = H1 '模拟鼠标指针移动
例:
mouse_event MOUSEEVENTF_LEFTDOWN,10,10,0,0
'在(10,10)模拟鼠标左键按下
属性里面先把UseWaitCursor改为true然后再改Cursor的属性。选择一个你要的形状