VB.Net Tutorial/GUI Applications/Applications

Материал из VB Эксперт
Перейти к: навигация, поиск

Applications.DoEvents

Imports System.Windows.Forms
public class ApplicationDoEvent
   public Shared Sub Main
        Application.Run(New Form1)
   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
        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(48, 23)
        Me.btnGo.TabIndex = 0
        Me.btnGo.Text = "Go"
        "
        "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

ProgressBars and Application.DoEvents

Option Strict On
imports System
imports System.Drawing
imports System.Windows.Forms
public class ProgressBars : inherits Form
  dim pb as ProgressBar
  dim lbl as Label
  public sub New()
    Size = new Size(300,200)
    dim btn as new Button()
    btn.Parent = me
    btn.Text = "&Start"
    btn.Location = new Point(0,0)
    AddHandler btn.Click, AddressOf btn_OnClick
    lbl = new Label()
    lbl.Parent = me
    lbl.Size = new Size(100,23)
    lbl.Location = new Point(0,25)
    lbl.BorderStyle = BorderStyle.FixedSingle
    lbl.TextAlign = ContentAlignment.MiddleCenter
    lbl.Text = ""
    pb = new ProgressBar()
    pb.Parent = me
    pb.Location = new Point(0, 70)
    pb.Size = new Size(400, 20) 
    pb.Minimum = 0      "  the default value
    pb.Maximum = 100    "  the default value
  end sub  "  close for constructor
  private sub btn_OnClick(ByVal sender as object,ByVal e as EventArgs)
    dim cntr as integer = 0
    pb.Value = 0
    pb.Step = 1
    for i as integer = 0 to 100000
      cntr  = cntr + 1
      if cntr mod 100 = 0 then
        lbl.Text = cntr.ToString()
        pb.PerformStep()
        Application.DoEvents()
        System.Threading.Thread.Sleep(40)
      end if
    next
  end sub
  public shared sub Main() 
    Application.Run(new ProgressBars())
  end sub
end class