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.
Table 3.6 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 |
The Common Dialog controls are nonvisual controls that are added to a form. After you add a control, you can use its properties and methods to display the dialog. Listing 3.6 uses the Filter property of OpenFileDialog to prompt the user for cursor files.
Listing 3.6 Using OpenFileDialog
VB.NET
' 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
C#
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.