vb.net 关于Me.Cursor = Cursors.WaitCursor
在画面的load里,写了Me.Cursor = Cursors.WaitCursor。可画面运行起来后,只有鼠标移到画面空白处,鼠标才变成等待。
若移动画面的某个label控件或按钮控件上,不会变。
想要不管移到哪里都是等待状态,该怎么实现呢。 --------------------编程问答-------------------- 光标移到别的控件上去了,就读取那个控件上得Cursor 属性了
--------------------编程问答-------------------- 画面不属于自己,当然不是你设置的鼠标了 --------------------编程问答-------------------- 这个挺麻烦的,其实控件里面还有嵌套控件的情况,需要用递归的。有一个简单一些的做法,你可以用一个timer控件,检测鼠标位置是否在窗体内,窗体是否激活。这样只需要一个屏幕坐标变换和状态确定就可以了,效率要更高一些,代码也清晰。 --------------------编程问答-------------------- vb.net中必须指定控件才起作用
Me.Cursor = Cursors.WaitCursor
For Each ob As Object In Me.Controls
Dim type As Type = ob.GetType
For Each per As PropertyInfo In type.GetProperties()
If per.Name = "Cursor" Then
per.SetValue(ob, New Cursor(Cursors.WaitCursor.Handle), Nothing)
End If
Next
Next
load的时候加载控件,控件默认状态不是等待
如果想load时候鼠标状态是等待,直接修改初始化控件的鼠标状态就可以了
在事件中 Me.Cursor = Cursors.WaitCursor应该没问题
如果在模块中需要指定画面
Form1.Cursor = System.Windows.Forms.Cursors.WaitCursor --------------------编程问答-------------------- 如果想在加载过程保持等待状态,就必须在
sub New
..... ' 不要修改
Me.Cursor = Cursors.WaitCursor
end sub
就可以了。 --------------------编程问答-------------------- 你指定的仅仅是窗体的内光标,你可以试试不写在load下,然后只要在窗口范围内就是wait --------------------编程问答-------------------- 我这没问题~
补充:.NET技术 , VB.NET