簡體   English   中英

更改光標 VB.NET

[英]Change cursor VB.NET

當它是 ToolStripButton.click 事件時,我無法更改光標。

我有 2 個按鈕,稱為“Rechercher”。

編輯:只有按鈕在工作。 似乎 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

也許您應該嘗試一些采樣器,例如:

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

問題是你在代碼應該執行的地方沒有任何停頓,所以它做得很快。

這是我讓它工作的唯一方法。

<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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM