📄 timer.vb
字号:
'----------------------------------------------------------
' TimerWeb.WebTimer
' ver. 1.0
' Author: M. Beatini
' Note:
' this simple VB.NET component implements a timer
' which raise an event every "interval" milliseconds
'----------------------------------------------------------
Imports System.ComponentModel
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Collections
Imports System.Collections.Specialized
Namespace TimerWeb
<DefaultProperty("Interval"), ToolboxData("<{0}:WebTimer runat=server></{0}:WebTimer>")> Public Class WebTimer
Inherits System.Web.UI.WebControls.WebControl
Implements INamingContainer
Implements IPostBackDataHandler
' Defines the Elapsed event
Public Event Elapsed As EventHandler
' define variable to store property
' default value 10 sec (10000 ms)
Dim _interval As Integer = 5000
' define property Interval to elapse
<Bindable(True), Category("Appearance"), DefaultValue("")> Property [Interval]() As Integer
Get
Return _interval
End Get
Set(ByVal Value As Integer)
_interval = Value
End Set
End Property
' loadpostdata implementation
' in this case it returns always true (assuming that the state
' of control was changed) so RaisePostDataChangedEvent runs
Public Overridable Function LoadPostData(ByVal postDataKey As String, _
ByVal postCollection As System.Collections.Specialized.NameValueCollection) _
As Boolean Implements IPostBackDataHandler.LoadPostData
Return True
End Function
' RaisePostDataChangedEvent implementation
' this events call the tmer change event OnElapsed
Public Overridable Sub RaisePostDataChangedEvent() _
Implements IPostBackDataHandler.RaisePostDataChangedEvent
OnElapsed(EventArgs.Empty)
End Sub
' raise the event
Protected Overridable Sub OnElapsed(ByVal e As EventArgs)
RaiseEvent Elapsed(Me, e)
End Sub
Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
Dim Text As String
Text = "<script Language=""javascript"">setTimeout(""" + Page.GetPostBackEventReference(Me) + """, " + Interval.ToString() + ")</script>"
output.Write(Text)
End Sub
Protected Overrides Sub OnInit(ByVal e As EventArgs)
MyBase.OnInit(e)
If Not IsNothing(Page) Then
Page.RegisterRequiresPostBack(Me)
End If
End Sub
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -