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
.
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.