VB.net中的DoEvents()问题

时间:2021-10-05 13:57:08
我建了一个asp.net web应用程序,在程序里建了一个类模块,在类模块的事件里用到了DoEvents()函数,结果提示说名称DoEvents未声明,在命名空间添上Imports VB = Microsoft.VisualBasic也没用,改成Application.DoEvents(),提示说名称Application未声明,请问该怎么办?

16 个解决方案

#1


                    My.Application.DoEvents()

#2


同意1楼的~~

#3


asp.net用DoEvents()干什么???

#4


用My.Application.DoEvents()提示My未声明
asp.net用DoEvents()来延时


#5


我有同样的经历,后来发现,因为再类中没有窗体,没有界面,所以不用DoEvents,  因为类再后台运行,他独占一个进程,当你调用他时他才运行,当你需要延时停止线程时,就是把他直接后台停掉,没有其他可用的DoEvents处理事件,故不需要处理,也就不用写什么DoEvents了!你可以调用试试,不会影响你的CPU其他进程!

#6


System.Windows.Forms

#7


引用 4 楼 zym2007 的回复:
用My.Application.DoEvents()提示My未声明 
asp.net用DoEvents()来延时 


DoEvents 延时?

#8


引用 7 楼 limeng0513 的回复:
引用 4 楼 zym2007 的回复:
用My.Application.DoEvents()提示My未声明
asp.net用DoEvents()来延时


DoEvents 延时?

Sleep才是延时
DoEvents在死循环里很有用,呵呵

#9


Asp.net里不能使用WinForm的功能。

#10


你可以使用线程的方法Sleep

#11


DoEvents是一个内部函数,不用定义,其功能是:转让控制权,以便让操作系统处理其它的事件! 
如果在一个循环中不加doevents,那么程序在执行到此循环时,就会紧紧抓住控制权不放,如果此循环很大很费时,那么直到循环结束,否则你做的程序的其它功能(点击按钮,输入文字等)都会不可用,但如果循环里加了doevents这个函数,那么循环每次执行到此函数的时候,就会等一下,看看你的程序的其它部分有没有动作,表面上看就不会出现卡死的现象,这样的话,程序会显得更人性化! 

注:此函数会占用较高的CPU使用率,如果可能的话,建议配合sleep()函数一起用,能降低CPU使用率!

#12


Application.DoEvents()只能用于winform项目

#13


路过问问 ::;:

DoEvents 此函数会占用较高的CPU使用率,
如何配合sleep()函数一起用,能降低CPU使用率???

#14


11楼的说得最清楚了。学习一下。

#15


vb6中一般用doevnets,现在都是.net时代了,改用多线程吧

#16


1、要引用System.Windows.Forms
2、要在项目属性的导入里添加System.Windows.Forms

这样就能用Application.Doevents了

#1


                    My.Application.DoEvents()

#2


同意1楼的~~

#3


asp.net用DoEvents()干什么???

#4


用My.Application.DoEvents()提示My未声明
asp.net用DoEvents()来延时


#5


我有同样的经历,后来发现,因为再类中没有窗体,没有界面,所以不用DoEvents,  因为类再后台运行,他独占一个进程,当你调用他时他才运行,当你需要延时停止线程时,就是把他直接后台停掉,没有其他可用的DoEvents处理事件,故不需要处理,也就不用写什么DoEvents了!你可以调用试试,不会影响你的CPU其他进程!

#6


System.Windows.Forms

#7


引用 4 楼 zym2007 的回复:
用My.Application.DoEvents()提示My未声明 
asp.net用DoEvents()来延时 


DoEvents 延时?

#8


引用 7 楼 limeng0513 的回复:
引用 4 楼 zym2007 的回复:
用My.Application.DoEvents()提示My未声明
asp.net用DoEvents()来延时


DoEvents 延时?

Sleep才是延时
DoEvents在死循环里很有用,呵呵

#9


Asp.net里不能使用WinForm的功能。

#10


你可以使用线程的方法Sleep

#11


DoEvents是一个内部函数,不用定义,其功能是:转让控制权,以便让操作系统处理其它的事件! 
如果在一个循环中不加doevents,那么程序在执行到此循环时,就会紧紧抓住控制权不放,如果此循环很大很费时,那么直到循环结束,否则你做的程序的其它功能(点击按钮,输入文字等)都会不可用,但如果循环里加了doevents这个函数,那么循环每次执行到此函数的时候,就会等一下,看看你的程序的其它部分有没有动作,表面上看就不会出现卡死的现象,这样的话,程序会显得更人性化! 

注:此函数会占用较高的CPU使用率,如果可能的话,建议配合sleep()函数一起用,能降低CPU使用率!

#12


Application.DoEvents()只能用于winform项目

#13


路过问问 ::;:

DoEvents 此函数会占用较高的CPU使用率,
如何配合sleep()函数一起用,能降低CPU使用率???

#14


11楼的说得最清楚了。学习一下。

#15


vb6中一般用doevnets,现在都是.net时代了,改用多线程吧

#16


1、要引用System.Windows.Forms
2、要在项目属性的导入里添加System.Windows.Forms

这样就能用Application.Doevents了