我总是使用
Me.Cursor = Cursors.WaitCursor
一段时间来执行命中数据库等功能。
现在,如果发生任何异常,我会将错误消息显示为:
Msgbox(ex.Message)
因此,在显示任何消息之前,我需要将光标重置为默认值。 是否有一种简单的方法可以在一个地方完成,而不是在所有的catch块中编写它。
有没有办法继承MessageBox类并覆盖函数?
另外,我需要在所有catch块中对其进行编码,或者在一个地方处理所有异常,我现在不想修改整个应用程序。
提前全部谢谢。
答案 0 :(得分:0)
我认为您可以创建一个这样的通用函数,它接受Exception作为参数,并在每个catch块中调用此函数。
Try
'Do some code here
catch ex as Exception
ShowException(ex)
End Try
Private Sub ShowException(ex as Exception)
MessageBox.Show("An exception occured." + vbCrLf + ex.ToString())
Me.Cursor = Cursors.Default
End Sub
答案 1 :(得分:0)
为什么要更改光标?我从不喜欢这个(除了在VBA :) :)
为什么不使用BackgroundWorker来完成这项工作,以便您的GUI保持重新使用。也许你可以在StatusBar或对话框表单中获得很少的进度来显示任务的进度吗?