我有一个应用程序在数据库中搜索一些信息. 由于数据库非常大,有时需要花费大量时间才能将结果返回到界面. 我想添加某种旋转轮来通知用户应用程序仍在搜索数据库并且没有冻结.返
由于数据库非常大,有时需要花费大量时间才能将结果返回到界面.
我想添加某种旋转轮来通知用户应用程序仍在搜索数据库并且没有冻结.返回结果后,轮子应该消失.
知道如何做到这一点还是有一个很好的教程解释如何做到这一点?
您是否考虑过将鼠标指针更改为沙漏,因为实现起来非常简单:Me.Cursor = Cursors.WaitCursor ...Do your DB calls here... Me.Cursor = Cursors.Default
但是,我同意显示“旋转轮”可能更加用户友好,并且肯定更加明显.所以,首先得到一个适合您需要的动画GIF.然后创建一个包含图像的图片框的表单.
完成后,您可以向用户显示表单,并在后台执行数据库工作,一旦完成,关闭表单.
另一种选择是使用滚动进度条,所以当它达到100%时,它会再次循环并继续运行直到你关闭它.
编辑:
我忘了提到的一件事是你必须处理异常情况.假设您将光标设置为wait,然后发生错误.该异常可能会绕过重置所有内容的代码.这会给用户留下更改的光标,而无法更改它.
当我做了这种事情时,我通常会创建一个一次性的WaitCursor类,然后使用这样的东西:
Using myWaitCursor As WaitCursor = New WaitCursor ...do something... End Using
在WaitCursor类的Dispose中,将光标设置回默认值.如果您使用带有图像或进度条的表单的路线,则同样适用.