Application Class and Message Class

Using Application Class

Visual Basic 2005 introduces a speedy way to access many important classes relating to the Computer on which the application is running, the user running it, the application itself, its forms and any associated web services. The best part of it all is that you can access it all using the new My object. The new My object has added features that help the programmer to gain access to some functionality that was really hard to achieve.

My.Application Object contains information about running application, such as the title, working directory, version, and the common language runtime (CLR) version in use. It also gives access to environment variables, allow you to easily write to the local application log or to a custom log, and so on.

You can access the Application information easily as can be seen in the following lines of code

My.Application.AssemblyInfo.DirectoryPath
My.Application.AssemblyInfo.ProductName
My.Application.Log.WriteEntry(“Application Starting”, EventLogEntryType.Information, Nothing)

The above lines of code will retrieve this information from the assembly which can used by the application on run time.

The following table gives the properties and methods of the My.Application Object

ApplicationContext Gives access to the context associated with the current thread.

AssmblyInfo Allows easy access to data from the AssemblyInfo.vb file, including CompanyName, ProductName, Title and Version.

ChangeCurrentCulture Allows Change the culture in which the current thread is running, which affects such things as string manipulation and formatting

ChangeCurrentUICulture Allows changing the culture that the current thread uses for retrieving culture-specific resources

CommandLineArgs Return a collection of command-line arguments

CurrentCulture Returns a collection of command-line arguments

CurrentDirectory Returns the folder where the application resides

CurrentUICulture Returns the culture that the current thread is using for retrieving culture-specific resources

DoEvents Causes all messages in the message queue to be processed

GetEnvironmentVariable Returns a specific environment variable on the local machinge

IsNetWorkDeployed Returns True if the application was network-deployed else returns False.

Log Allows writing to application log on the local machine

MainForm A read-write property that allows setting or getting the form that the application will use as its main form

Run Sets up and starts the VB Startup/Shutdown Application model

SplashScreen Lets setting or getting the application’s splash screen

Using the MessageBox class

Message boxes are often used objects. They are derived form Form Class, displayed modally and used to take user’s acknowledgement and also inform the user or alert the user of any thing that needs to be informed or alerted.

You cannot create a new instance of the System.Windows.Forms.MessageBox class. To display a message box, call the static method System.Windows.Forms.MessageBox.Show. The title, message, buttons, and icons displayed in the message box are determined by parameters that you pass to this method.

The following example shows how to use a System.Windows.Forms.MessageBox to inform the user of a missing entry in a System.Windows.Forms.TextBox.

This example assumes that the method is called from an existing form with a System.Windows.Forms.Button and a System.Windows.Forms.TextBox on it.

Protected Sub button1_Click(sender As Object, e As System.EventArgs)
If textBox1.Text = "" Then
MessageBox.Show("You must enter a name.", "Name Entry Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
‘ Code to act on the data entered would go here.
End If
End Sub

{mospagebreak title=MessageBox class Parameters}.

The following example shows how to ask the user a Yes or No question and make a decision based on the response

Private Sub ValidateUserEntry()
‘Checks the value of the text.
The above example also shows that we can take a response from the message box and use the value of the result to perform specific actions.

If ServerName.Text.Length = 0 Then
‘Initializes variables to pass to the MessageBox.Show method.
Dim Message As String
Dim
Caption As String
Dim
Buttons As MessageBoxButtons
Dim
Result
As DialogResult

Message = "You did not enter a server name. Cancel this operation?"
Caption = "No Server Name Specified"
Buttons = MessageBoxButtons.YesNo

‘Displays the MessageBox
Result = MessageBox.Show(Me, Message, Caption, Buttons
)

‘Gets the result of the MessageBox display.
If Result = DialogResult.Yes
Then
‘Closes the parent form.
Me.Close()
End If
End If
End Sub

Visual Basic has a public function MsgBox. It displays a message in a dialog box, waits for the user to click a button, and then returns an integer indicating which button the user clicked.

Public Function MsgBox( _
ByVal Prompt As Object, _
Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _
Optional ByVal Title As Object = Nothing _
) As MsgBoxResult

MessageBox class Parameters

Prompt

Required. String expression displayed as the message in the dialog box. The maximum length of Prompt is approximately 1024 characters, depending on the width of the characters used. If Prompt has more than one line, you can separate the lines using a carriage return character, a linefeed character, or a carriage return/linefeed character combination between each line.

Buttons

Optional. Numeric expression that is the sum of values specifying the number and type of buttons to display, the icon style to use, the identity of the default button, and the modality of the message box. If you omit Buttons, the default value is zero.

Title

Optional. String expression displayed in the title bar of the dialog box. If you omit Title, the application name is placed in the title bar.

Settings

The MsgBoxStyle enumeration values are listed in the following table.

Enumeration

Value

Description

OKOnly

0

Displays OK button only.

OKCancel

1

Displays OK and Cancel buttons.

AbortRetryIgnore

2

Displays Abort, Retry, and Ignore buttons.

YesNoCancel

3

Displays Yes, No, and Cancel buttons.

YesNo

4

Displays Yes and No buttons.

RetryCancel

5

Displays Retry and Cancel buttons.

Critical

16

Displays Critical Message icon.

Question

32

Displays Warning Query icon.

Exclamation

48

Displays Warning Message icon.

Information

64

Displays Information Message icon.

DefaultButton1

0

First button is default.

DefaultButton2

256

Second button is default.

DefaultButton3

512

Third button is default.

ApplicationModal

0

Application is modal. The user must respond to the message box before continuing work in the current application.

SystemModal

4096

System is modal. All applications are suspended until the user responds to the message box.

MsgBoxSetForeground

65536

Specifies the message box window as the foreground window.

MsgBoxRight

524288

Text is right-aligned.

MsgBoxRtlReading

1048576

Specifies text should appear as right-to-left reading on Hebrew and Arabic systems.

The first group of values (0–5) describes the number and type of buttons displayed in the dialog box; the second group (16, 32, 48, 64) describes the icon style; the third group (0, 256, 512) determines which button is the default; the fourth group (0, 4096) determines the modality of the message box, and the fifth group specifies whether or not the message box window is the foreground window, along with the alignment and direction of the text. When adding numbers to create a final value for the Buttons argument, use only one number from each group.

[catlist id=175].

Related posts