Using Common Dialog Controls
The Common Dialog controls in Windows Forms enable you to perform dialog-related tasks. Table 3.6 lists the available Common Dialog controls.
Control | Description |
---|---|
ColorDialog | Displays the color picker dialog box that enables users to set the color of an interface element |
FontDialog | Displays a dialog box that enables users to set a font and its attributes |
OpenFileDialog | Displays a dialog box that enables users to navigate to and select a file |
PrintDialog | Displays a dialog box that enables users to select a printer and set its attributes |
PrintPreviewDialog | Displays a dialog box that shows how a PrintDocument object appears when printed |
SaveFileDialog | Displays a dialog box that allows users to save a file |
Listing 3.6 Using OpenFileDialog

' Display an OpenFileDialog so the user can select a Cursor.
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.Filter = "Cursor Files|*.cur"
openFileDialog1.Title = "Select a Cursor File"
' Show the Dialog.
' If the user clicked OK in the dialog and
' a .CUR file was selected, open it.
If openFileDialog1.ShowDialog() = DialogResult.OK Then
If openFileDialog1.FileName <> " Then
' Assign the cursor in the Stream to the Form's Cursor property.
Me.Cursor = New Cursor(openFileDialog1.OpenFile())
End If
End If

OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Cursor Files|*.cur";
openFileDialog.Title = "Select a Cursor File";
if (openFileDialog.ShowDialog() == DialogResult.OK &&
StringType.StrCmp(openFileDialog.FileName, ", false) != 0)
{
base.Cursor = new Cursor(openFileDialog.OpenFile());
}
You can also read files using a combination of the System.IO classes (you'll learn about them next week) and OpenFileDialog, as Listing 3.7 demonstrates.
Listing 3.7 Opening a File with a StreamReader and OpenFileDialog
' Simple Open
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName)
MessageBox.Show(sr.ReadToEnd)
sr.Close()
End If
In the Downloads section for the day, I've included a sample application that uses each of the dialogs in different ways.