Re: pausing an application



Hello RSH ??? :-)


here is a complete example of how to do this copy the below code in a form


Imports System.Threading

Public Class Form1

Inherits System.Windows.Forms.Form

Private blnTrun As Boolean

Private thrTest As Thread

#Region " Windows Form Designer generated code "

Public Sub New()

MyBase.New()

'This call is required by the Windows Form Designer.

InitializeComponent()

'Add any initialization after the InitializeComponent() call

End Sub

'Form overrides dispose to clean up the component list.

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub

'Required by the Windows Form Designer

Private components As System.ComponentModel.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.

Friend WithEvents TStart As System.Windows.Forms.Button

Friend WithEvents TStop As System.Windows.Forms.Button

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

Me.TStart = New System.Windows.Forms.Button

Me.TStop = New System.Windows.Forms.Button

Me.SuspendLayout()

'

'TStart

'

Me.TStart.Location = New System.Drawing.Point(16, 40)

Me.TStart.Name = "TStart"

Me.TStart.Size = New System.Drawing.Size(248, 32)

Me.TStart.TabIndex = 0

Me.TStart.Text = "Start Thread"

'

'TStop

'

Me.TStop.Location = New System.Drawing.Point(16, 96)

Me.TStop.Name = "TStop"

Me.TStop.Size = New System.Drawing.Size(248, 32)

Me.TStop.TabIndex = 1

Me.TStop.Text = "Stop Thread"

'

'Form1

'

Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

Me.ClientSize = New System.Drawing.Size(292, 273)

Me.Controls.Add(Me.TStop)

Me.Controls.Add(Me.TStart)

Me.Name = "Form1"

Me.Text = "Texampe"

Me.ResumeLayout(False)

End Sub

#End Region

Private Sub TStart_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TStart.Click

Try

blnTrun = True

thrTest = New Thread(AddressOf ThreadRun)

thrTest.Name = "thrTest"

thrTest.Start()

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

Private Sub ThreadRun()

Dim iCount As Integer

Do Until Not blnTrun

Debug.WriteLine(String.Concat("thread running : ", iCount.ToString))

iCount += 1

Thread.Sleep(0)

Loop

End Sub

Private Sub TStop_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TStop.Click

Dim msg As String

Dim title As String

Dim style As MsgBoxStyle

Dim response As MsgBoxResult

msg = "Do you want to continue?"

style = MsgBoxStyle.DefaultButton2 Or _

MsgBoxStyle.Critical Or MsgBoxStyle.YesNo

title = "Thread Demonstration"

response = MsgBox(msg, style, title)

If response = MsgBoxResult.Yes Then ' User chose Yes. SO KEEP RUNNING

Else

blnTrun = False

' Perform some other action.

End If

End Sub

End Class

happy coding :-)

Michel Posseth [MCP]


"RSH" <way_beyond_oops@xxxxxxxxx> wrote in message
news:%23Ay1tbQbFHA.1504@xxxxxxxxxxxxxxxxxxxxxxx
>I am writing a VB .Net App (Not ASP .Net) where I'm having an issue
>creating a cancel button...
>
>
> I have a situation where I have a loop that is initiated when the user
> clicks on a Run button. I would like to have a Cancel button that when
> the user clicks it a message button a messagebox will be displayed asking
> if they would like to cancel or not...if they select yes I would like to
> break out of the loop but not quit the application.
>
> Basically I have it setup that a global variable called bRunApp = True and
> when the button is clicked it changes the bRunApp value = False. in the
> loop there is a check for the value;
>
> if bRunApp = False Then
> 'display messagebox and breakout of the loop
> EndIf
>
> How would I do this?
>


.