请教VB button的单击事件问题

我想请教一个关于VB程序按钮的单击事件问题,详细信息如下:
程序功能界面有一个"查询按钮",它可以通过查询条件从数据库找出一个结果集,并显示到窗口Grid界面.
当单击"查询按钮"时将结果集显示到Gride里面,如果是一次一次地单击查询按钮,程序没有问题.

遇到的问题:

  1. 因为每次查询时间比较长(30秒),我在同一时间内(比如:3秒)连续点击三次按钮,最后结果会显示三个相同的结果集. 我的想法是这三次单击事件只需要处理一一次就行了,后面的两次不需要处理。不知道需要如何处理,请各位帮忙看看。 我试过两种方式,但是没有达到想要的效果.
    1. 在Click事件中添加Cursor.Current <> Cursors.WaitCursor判断条件
    2. 在Click事件头和尾添加materialChk_button.Enabled = False/True属性

materialChk_button.Enabled = False
后面加上一行DoEvents
试试看

private isrunning as boolean
private sub button1_click()
if isrunning then exit sub
isrunning = true
doevents
xxx '你的代码
srunning = false
end sub

点击完就把控件禁用,处理完再启用