VB.Net/Development/Timer
Long Operation with Timer and Wait Cursor
<source lang="vbnet"> Imports System Imports System.Runtime.InteropServices Imports System.Drawing Imports System.ruponentModel Imports System.Windows.Forms Imports System.IO Public Class MainClass
Shared Sub Main(ByVal args As String()) Dim myform As New Form1() Application.Run(myform) End Sub
End Class Public Class Form1
Private Sub btnGo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGo.Click Me.Cursor = Cursors.WaitCursor tmrLongTask.Enabled = True btnGo.Enabled = False " refresh everything. Application.DoEvents() End Sub Private Sub tmrLongTask_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrLongTask.Tick tmrLongTask.Enabled = False Me.Cursor = Cursors.Default btnGo.Enabled = True End Sub
End Class
<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Public Class Form1
Inherits System.Windows.Forms.Form "Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub "Required by the Windows Form Designer Private components As System.ruponentModel.IContainer "NOTE: The following procedure is required by the Windows Form Designer "It can be modified using the Windows Form Designer. "Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.ruponents = New System.ruponentModel.Container Me.btnGo = New System.Windows.Forms.Button Me.tmrLongTask = New System.Windows.Forms.Timer(Me.ruponents) Me.SuspendLayout() " "btnGo " Me.btnGo.Location = New System.Drawing.Point(16, 16) Me.btnGo.Name = "btnGo" Me.btnGo.Size = New System.Drawing.Size(180, 23) Me.btnGo.TabIndex = 0 Me.btnGo.Text = "Start Waiting for 3 Seconds" " "tmrLongTask " Me.tmrLongTask.Interval = 3000 " "Form1 " Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(292, 273) Me.Controls.Add(Me.btnGo) Me.Name = "Form1" Me.Text = "UseWaitCursor" Me.ResumeLayout(False) End Sub Friend WithEvents btnGo As System.Windows.Forms.Button Friend WithEvents tmrLongTask As System.Windows.Forms.Timer
End Class
</source>
Timer: by tenth second, second and ten seconds
<source lang="vbnet"> Imports System Imports System.Data Imports System.Windows.Forms Imports System.Drawing Imports System.Data.SqlClient public class MainClass
Shared Sub Main() Dim form1 As Form = New Form1 Application.Run(form1) End Sub
End Class
Public Class Form1
Private Sub tmrTenthSecond_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrTenthSecond.Tick lblTenthSecond.Text = Now.ToString("hh:mm:ss.f") End Sub Private Sub tmrSecond_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrSecond.Tick lblSeconds.Text = Now.ToString("hh:mm:ss") End Sub Private Sub tmrTenSeconds_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrTenSeconds.Tick lblTenSeconds.Text = Now.ToString("hh:mm:ss") End Sub " Display initial times. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load lblTenthSecond.Text = Now.ToString("hh:mm:ss.f") lblSeconds.Text = Now.ToString("hh:mm:ss") lblTenSeconds.Text = Now.ToString("hh:mm:ss") End Sub
End Class
<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Public Class Form1
Inherits System.Windows.Forms.Form "Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub "Required by the Windows Form Designer Private components As System.ruponentModel.IContainer "NOTE: The following procedure is required by the Windows Form Designer "It can be modified using the Windows Form Designer. "Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.ruponents = New System.ruponentModel.Container Me.tmrTenthSecond = New System.Windows.Forms.Timer(Me.ruponents) Me.tmrSecond = New System.Windows.Forms.Timer(Me.ruponents) Me.tmrTenSeconds = New System.Windows.Forms.Timer(Me.ruponents) Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.lblTenthSecond = New System.Windows.Forms.Label Me.lblSeconds = New System.Windows.Forms.Label Me.lblTenSeconds = New System.Windows.Forms.Label Me.SuspendLayout() " "tmrTenthSecond " Me.tmrTenthSecond.Enabled = True " "tmrSecond " Me.tmrSecond.Enabled = True Me.tmrSecond.Interval = 1000 " "tmrTenSeconds " Me.tmrTenSeconds.Enabled = True Me.tmrTenSeconds.Interval = 10000 " "Label1 " Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(8, 8) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(46, 13) Me.Label1.TabIndex = 0 Me.Label1.Text = "1/10 sec" " "Label2 " Me.Label2.AutoSize = True Me.Label2.Location = New System.Drawing.Point(8, 32) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(29, 13) Me.Label2.TabIndex = 1 Me.Label2.Text = "1 sec" " "Label3 " Me.Label3.AutoSize = True Me.Label3.Location = New System.Drawing.Point(8, 56) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(35, 13) Me.Label3.TabIndex = 2 Me.Label3.Text = "10 sec" " "lblTenthSecond " Me.lblTenthSecond.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.lblTenthSecond.Location = New System.Drawing.Point(72, 8) Me.lblTenthSecond.Name = "lblTenthSecond" Me.lblTenthSecond.Size = New System.Drawing.Size(80, 16) Me.lblTenthSecond.TabIndex = 3 " "lblSeconds " Me.lblSeconds.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.lblSeconds.Location = New System.Drawing.Point(72, 32) Me.lblSeconds.Name = "lblSeconds" Me.lblSeconds.Size = New System.Drawing.Size(80, 16) Me.lblSeconds.TabIndex = 4 " "lblTenSeconds " Me.lblTenSeconds.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.lblTenSeconds.Location = New System.Drawing.Point(72, 56) Me.lblTenSeconds.Name = "lblTenSeconds" Me.lblTenSeconds.Size = New System.Drawing.Size(80, 16) Me.lblTenSeconds.TabIndex = 5 " "Form1 " Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(167, 88) Me.Controls.Add(Me.lblTenSeconds) Me.Controls.Add(Me.lblSeconds) Me.Controls.Add(Me.lblTenthSecond) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "Form1" Me.Text = "UseTimer" Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents tmrTenthSecond As System.Windows.Forms.Timer Friend WithEvents tmrSecond As System.Windows.Forms.Timer Friend WithEvents tmrTenSeconds As System.Windows.Forms.Timer Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents lblTenthSecond As System.Windows.Forms.Label Friend WithEvents lblSeconds As System.Windows.Forms.Label Friend WithEvents lblTenSeconds As System.Windows.Forms.Label
End Class
</source>