当它是ToolStripButton.click事件时,我无法更改光标。
我有两个按钮叫“Rechercher”。
已编辑:只有Button正在运行。似乎ToolStripButton取消了我的光标...... 谢谢你的帮助
Public Class FenetrePrincipale
Private WithEvents _btnRechercher As New Windows.Forms.ToolStripButton("Rechercher")
Private WithEvents btnRechercherAccesBtn As New Button
Private Sub Rechercher(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _btnRechercher.Click, btnRechercherAccesBtn.Click
Try
Me.Cursor = Cursors.WaitCursor
'WAITING FOR THE CODE TO FINISH (2 sec)
Finally
Me.Cursor = Cursors.Default
End Try
End Sub
End Class
答案 0 :(得分:3)
这是我开始工作的唯一方法。
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
End Function
Public Class FenetrePrincipale
Private WithEvents _btnRechercher As New Windows.Forms.ToolStripButton("Rechercher")
Private WithEvents btnRechercherAccesBtn As New Button
Private Sub Rechercher(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRechercherAccesBtn.Click
Try
Me.Cursor = Cursors.WaitCursor
'code...
Finally
Me.Cursor = Cursors.Default
End Try
End Sub
Private Sub RechercherToolStripButton(ByVal sender As Object, ByVal e As System.EventArgs) Handles _btnRechercher.Click
Me.UseWaitCursor = True
SendMessage(Me.Handle, &H20, Me.Handle, New IntPtr(1))
Rechercher(Nothing, Nothing)
Me.UseWaitCursor = False
End Sub
End Class
答案 1 :(得分:2)
也许你应该尝试一下像这样的采样器:
Private Sub MainFrame_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Search()
End Sub
Private Sub Search()
Try
Me.Cursor = Cursors.WaitCursor
UseWaitCursor = True
Application.DoEvents()
Threading.Thread.Sleep(1000) 'WAITING FOR THE CODE TO FINISH
Finally
UseWaitCursor = False
Me.Cursor = Cursors.Default
Application.DoEvents()
End Try
End Sub
问题是你没有任何代码应该执行的暂停,因此它正在快速执行。