gpt4 book ai didi

vb.net - Cursor.Wait 在 printDialog 之后

转载 作者:行者123 更新时间:2023-12-01 03:59:20 27 4
gpt4 key购买 nike

我有一个小问题。我将光标设置为等待状态。调用 PrintDialog 后,光标返回默认状态。我无法再次将光标设置为等待状态。代码是这样的:

Cursor.Current = Cursors.WaitCursor
[...]
Dim result As DialogResult = printDialog.ShowDialog()
If result = DialogResult.Cancel Then
Return
End If
Cursor.Current = Cursors.WaitCursor
[...]

最佳答案

我刚刚用你的代码做了一个小测试。使用您的代码时,我的 VS2012 没有出现 Cursor.Current但在使用时没有抛出任何异常。所以我把它改成

Me.Cursor = Cursors.WaitCursor

Dim result As DialogResult = printDialog.ShowDialog()
If result = DialogResult.Cancel Then
Return
End If
' not necesary any more
'Cursor.Current = Cursors.WaitCursor

WaitCursor 留下 显示printDialog之后。

编辑: 上找到了一个很好的解释差异之间 Cursor.Current and Cursor !

编辑2:我更改了我的代码以使用上述@HansPassant 示例中的 HourGlass 类。即使您输入文本框,WaitCursor 现在也会保持不变。无论如何 - 当悬停在例如的边界上时,我仍然能够丢失waitCursor。一个文本框。

总而言之,IMO 我认为是 不是很好强制一个waitCursor 当仍然可以输入文本 aso 时。也许您可以考虑禁用控件,直到某种操作完成,然后将光标更改回来。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Hourglass.Enabled = True

Dim result As DialogResult = PrintDialog1.ShowDialog()
If result = Windows.Forms.DialogResult.Cancel Then
Return
End If

'Cursor.Current = Cursors.WaitCursor
End Sub

Hourglass.vb - 我希望在将其转换为 vb.net 时没有犯任何错误
Public Class Hourglass
Implements IDisposable

Public Shared Property Enabled As Boolean
Get
Return Application.UseWaitCursor
End Get
Set(ByVal value As Boolean)
If value = Application.UseWaitCursor Then Return
Application.UseWaitCursor = value
Dim f As Form = Form.ActiveForm
If Not f Is Nothing AndAlso f.Handle <> IntPtr.Zero Then
SendMessage(f.Handle, 32, f.Handle, 1)
End If
End Set
End Property

<System.Runtime.InteropServices.DllImport("user32.dll")>
Private Shared Function SendMessage(hWnd As IntPtr, msg As IntPtr, wp As IntPtr, lp As IntPtr) As IntPtr
End Function

Public Sub Dispose() Implements IDisposable.Dispose
Enabled = False
End Sub
End Class

关于vb.net - Cursor.Wait 在 printDialog 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14558516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com