473,421 Members | 1,500 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,421 software developers and data experts.

Using End

Bob
My app shows a modal MDI parent form, and creates a timer that ticks every
ten minutes to boot unresposive users at 3 in the morning. Below is a
simplified working example with no time check. My question is, is it OK to
use End or it is there a cleaner way to close the app? Keep in mind that I
want everything taken down, including any warning dialogue box shown from
the timer, and any others that happen to be still open in the MDI parent
itself - so frm.Close does not work.

TIA,
Bob

'---------------------------------
Module Main

Private WithEvents tmr As Windows.Forms.Timer
Private frm As Form

Public Sub Main()
tmr = New Timer
tmr.Interval = 2000
tmr.Enabled = True
frm = New Form
frm.WindowState = FormWindowState.Maximized
frm.IsMdiContainer = True
frm.ShowDialog()
End Sub

Private DoingMessage As Boolean

Private Sub tmr_Tick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles tmr.Tick
If DoingMessage Then
Beep()
End
Else
Dim msg As String = "This application will now shut down for the
night."
DoingMessage = True
If MsgBox(msg, MsgBoxStyle.OKCancel) = MsgBoxResult.OK Then
End
End If
DoingMessage = False
End If
End Sub

End Module
Nov 21 '05 #1
5 1205
I will use Application.Exit Method.
Nov 21 '05 #2

"Bob" <no***@nowhere.com> wrote
My app shows a modal MDI parent form, and creates a timer that ticks every
ten minutes to boot unresposive users at 3 in the morning. Below is a
simplified working example with no time check. My question is, is it OK to
use End or it is there a cleaner way to close the app? Keep in mind that I
want everything taken down, including any warning dialogue box shown from
the timer, and any others that happen to be still open in the MDI parent
itself - so frm.Close does not work.


It could work, if you designed it to work....

You could create a class whose sole responsibility is to raise a ShutDown
event and have all your forms listen for that event and close themselves down
(gracefully) when it happens. It may mean you have to create your own
MessageBox to display messages, but the 15 minutes you might use to do
that will provide you with a proactive means to be sure everything closes.
(Be aware you may not know which order the individual forms will recieve
that ShutDown event notification, so each form should just handle shutting
themselves down)

Instead of calling End, you could just send a call to that class to raise
the ShutDown event, and then exit out of the current sub. With all forms
closed, and no code executing, your application should close in a nice
clean fashion.

LFS
Nov 21 '05 #3
"Rulin Hong" <Ru*******@discussions.microsoft.com> schrieb:
I will use Application.Exit Method.


This method will work similar to 'End'. I would try to avoid using both of
these methods and close the main form instead.

--
Herfried K. Wagner [MVP]
<URL:http://dotnet.mvps.org/>

Nov 21 '05 #4
Bob
"Larry Serflaten" <se*******@usinternet.com> wrote in message
news:OX**************@TK2MSFTNGP15.phx.gbl...
It could work, if you designed it to work....

You could create a class whose sole responsibility is to raise a ShutDown
event and have all your forms listen for that event and close themselves down (gracefully) when it happens. It may mean you have to create your own
MessageBox to display messages, but the 15 minutes you might use to do
that will provide you with a proactive means to be sure everything closes.
(Be aware you may not know which order the individual forms will recieve
that ShutDown event notification, so each form should just handle shutting
themselves down)

Instead of calling End, you could just send a call to that class to raise
the ShutDown event, and then exit out of the current sub. With all forms
closed, and no code executing, your application should close in a nice
clean fashion.

LFS


Um... hmmm.

Yes, even though it's 130MB of code (most of it forms designer bloat) with
both inputboxes and messageboxes, I suppose it wouldn't take too long to
search and replace all of these.

I just have to shake my head, though, I would have thought MS would have put
in a facility to close all an app's dialogues automatically by now. *shrug*

I think I'm going to dig around for a way to detect and kill all dialogues
first (exluding the main MDI form of course). I bet there's a way.

Bob
Nov 21 '05 #5
environment.exit

Never failed me before.

Is it nice ? Probably not.
Does it kill everything? Yes.
Nov 21 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: Enos Meroka | last post by:
Hallo, I am a student doing my project in the university.. I have been trying to compile the program using HP -UX aCC compiler, however I keep on getting the following errors. ...
3
by: Mike L | last post by:
Should the command call "using" be before or after my namespace? **AFTER** namespace DataGridBrowser { using System; using System.Drawing; using System.Drawing.Drawing2D; using...
3
by: xzzy | last post by:
I was wondering why we have to have using System.Data using System.Configuration using etc.... why are they not all lumped into one 'using'? In other words, is there a best way to use...
14
by: pmud | last post by:
Hi, I need to use an Excel Sheet in ASP.NET application so that the users can enter (copy, paste ) large number of rows in this Excel Sheet. Also, Whatever the USER ENETRS needs to go to the...
8
by: acb | last post by:
Hi, I wrote a DLL Component (using Visual Studio 2005) and managed to include it into a C# Console application. I am now trying to include this component into a Web project. I copy the DLL...
0
by: Metal2You | last post by:
I'm working on an ASP.NET 2.0 application in Visual Studio 2005 that accesses a Sybase database back end. We're using Sybase SQL Anywhere 9.0.2.3228. I have installed and registered the Sybase...
10
by: mg | last post by:
I'm migrating from VB6 and have a question about using 'Using' and the best way to use it. Here is a example of a small bit of code: dbConx("open") Using CN Dim CMD As New OleDbCommand(sSQL,...
0
by: Eugene Anthony | last post by:
The problem with my coding is that despite removing the records stored in the array list, the rptPages repeater control is still visible. The rptPages repeater control displayes the navigation...
3
by: JDeats | last post by:
I have some .NET 1.1 code that utilizes this technique for encrypting and decrypting a file. http://support.microsoft.com/kb/307010 In .NET 2.0 this approach is not fully supported (a .NET 2.0...
6
by: =?Utf-8?B?U2hhd24gU2VzbmE=?= | last post by:
Greetings! I was researching AJAX to provide a solution to displaying status messages while a long process executed. I found several examples online and was able to use their code to get a quick...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.