在显示消息框之前执行一些操作,winforms

时间:2011-04-11 14:42:21

标签: vb.net winforms

我总是使用
Me.Cursor = Cursors.WaitCursor
一段时间来执行命中数据库等功能。

现在,如果发生任何异常,我会将错误消息显示为:
Msgbox(ex.Message)

因此,在显示任何消息之前,我需要将光标重置为默认值。 是否有一种简单的方法可以在一个地方完成,而不是在所有的catch块中编写它。

有没有办法继承MessageBox类并覆盖函数?

另外,我需要在所有catch块中对其进行编码,或者在一个地方处理所有异常,我现在不想修改整个应用程序。

提前全部谢谢。

2 个答案:

答案 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或对话框表单中获得很少的进度来显示任务的进度吗?