首先要明确的是C#语言本身并没有提供处理对话框的功能,所以C#处理对话框就必须借助"外力",而这种"外力"就是.Net框架提供给所有开发.Net平台应用程序的一个公用的类库--.Net FrameWork SDK。在.Net FrameWork SDK中的命名空间System.Windows.Forms中定义了六个类:OpenFileDialog类、SaveFileDialog类、FontDialog类、ColorDialog类、PrintPreviewDialog类和PrintDialog类。C#就是使用上述六个类来处理与对话框相关的操作的。其中C#利用OpenFileDialog类来处理与文件选择对话框相关操作;利用SaveFileDialog类处理和文件保存对话框相关操作;利用FontDialog类处理和字体选择对话框相关操作;利用ColorDialog类处理和颜色选择对话框相关操作;利用PrintPreviewDialog类处理和打印预览对话框相关操作和利用PrintDialog类处理和打印机设置对话框相关操作。
一.文件选择对话框:
OpenFileDialog类的属性来定制文件选择对话框的式样和功能。OpenFileDialog类的主要属性如下表:
属性
说明
AddExtension
该值指示如果用户省略扩展名对话框是否自动在文件名中添加扩展名。
CheckFileExists
该值指示如果用户指定不存在的文件名对话框是否显示警告。
CheckPathExists
该值指示如果用户指定不存在的路径对话框是否显示警告。
DefaultExt
获取或设置默认文件扩展名。
DereferenceLinks
该值指示对话框是否返回快捷方式引用的文件的位置或者是否返回快捷方式
FileName
字符串,获取或设置一个包含在文件对话框中选定的文件名的字符串。
FileNames
字符串数组,获取对话框中所有选定文件的文件名。
Filter
字符串,获取或设置当前文件名筛选器字符串该字符串决定对话框的"另存为文件类型"或"文件类型"框中出现的选择内容。
FilterIndex
整型,获取或设置文件对话框中当前选定筛选器的索引。
InitialDirectory
字符串,获取或设置文件对话框显示的初始目录。
Multiselect
布尔型,该值指示对话框是否允许选择多个文件。
ReadOnlyChecked
布尔型,该值指示是否选定只读复选框。
RestoreDirectory
布尔型该值指示对话框在关闭前是否还原当前目录。
ShowHelp
布尔型,该值指示文件对话框中是否显示"帮助"按钮。
ShowReadOnly
布尔型,该值指示对话是否包含只读复选框。
Title
字符串,获取或设置文件对话框标题。
DialogResult d = openFileDialog1.ShowDialog();
下图是上述代码定制的打开文件对话框的模样:
下图是上述程序中以提示框显示经过下图中所示的文件选择对话框选择的数据,即选择的多个文件名称:
属性
说明
AddExtension
该值指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。
CheckFileExists
该值指示如果用户指定不存在的文件名,对话框是否显示警告。
CheckPathExists
该值指示如果用户指定不存在的路径,对话框是否显示警告。
CreatePrompt
该值指示如果用户指定不存在的文件,对话框是否提示用户允许创建该文件。
DefaultExt
获取或设置默认文件扩展名。
DereferenceLinks
该值指示对话框是否返回快捷方式引用的文件的位置,或者是否返回快捷方式
FileName
获取或设置一个包含在文件对话框中选定的文件名的字符串。
FileNames
获取对话框中所有选定文件的文件名。
Filter
获取或设置当前文件名筛选器字符串,该字符串决定对话框的"另存为文件类型"或"文件类型"框中出现的选择内容。
FilterIndex
获取或设置文件对话框中当前选定筛选器的索引。
InitialDirectory
获取或设置文件对话框显示的初始目录。
OverwritePrompt
该值指示如果用户指定已存在的文件名,"另存为"对话框是否显示警告。
RestoreDirectory
该值指示对话框在关闭前是否还原当前目录。
ShowHelp
该值指示文件对话框中是否显示"帮助"按钮。
Title
获取或设置文件对话框标题。
说明
AllowScriptChange
指示用户能否更改
AllowSimulations
指示对话框是否允许图形设备接口
AllowVectorFonts
指示对话框是否允许选择矢量字体。
AllowVerticalFonts
指示对话框是既显示垂直字体又显示水平字体,还是只显示水平字体。
Color
获取或设置选定字体的颜色。
FixedPitchOnly
指示对话框是否只允许选择固定间距字体。
Font
获取或设置选定的字体。
FontMustExist
指示对话框是否指定当用户试图选择不存在的字体或样式时的错误条件。
MaxSize
获取或设置用户可选择的最大磅值。
MinSize
获取或设置用户可选择的最小磅值。
ScriptsOnly
示对话框是否允许为所有非指
ShowApply
指示对话框是否包含"应用"按钮。
ShowColor
指示对话框是否显示颜色选择。
ShowEffects
指示对话框是否包含允许用户指定删除线、下划线和文本颜色选项的控件。
ShowHelp
指示对话框是否显示"帮助"按钮。
属性
说明
AllowFullOpen
指示用户是否可以使用该对话框定义自定义颜色。
AnyColor
指示对话框是否显示基本颜色集中可用的所有颜色。
Color
获取或设置用户选定的颜色。
CustomColors
获取或设置对话框中显示的自定义颜色集。
FullOpen
指示用于创建自定义颜色的控件在对话框打开时是否可见。
ShowHelp
指示在颜色对话框中是否显示"帮助"按钮。
SolidColorOnly
指示对话框是否限制用户只选择纯色。
属性
说明
AllowPrintToFile
指示是否启用"打印到文件"复选框。
AllowSelection
获取或设定一个值,指示是否启用了页码范围选项按钮。
AllowSomePages
指示是否启用"页"选项按钮。
Document
获取或设置一个值,指示用于获取
PrinterSettings
获取或设置该对话框要修改的
PrintToFile
指示"打印到文件"复选框是否选中。
ShowHelp
指示是否显示"帮助"按钮。
ShowNetwork
指示是否显示"网络"按钮。
属性
说明
AcceptButton
获取或设置当用户按
DataBindings
为该控件获取数据绑定。
DialogResult
获取或设置窗体的对话框结果。
Document
获取或设置要预览的文档。
Enabled
指示是否启用该控件。
FormBorderStyle
获取或设置窗体的边框样式。
Height
获取或设置控件的高度。
HelpButton
指示是否应在窗体的标题框中显示"帮助"按钮。
Icon
获取或设置窗体的图标。
MaximizeBox
指示是否在窗体的标题栏中显示最大化按钮。
MaximumSize
获取或设置窗体可调整到的最大大小。
MinimizeBox
指示是否在窗体的标题栏中显示最小化按钮。
MinimumSize
获取窗体可调整到的最小大小。
Name
获取或设置控件的名称。
OwnedForms
获取
ShowInTaskbar
指示是否在
Size
获取或设置窗体的大小。
StartPosition
获取或设置运行时窗体的起始位置。
TabIndex
获取或设置在控件的容器的控件的
TopMost
指示窗体是否应显示为应用程序的最顶层窗体。
Visible
指示该控件是否可见。
Width
获取或设置控件的宽度。
WindowState
获取或设置窗体的窗口状态。
在 “打印预览” 的单击事件里写:
this.printPreviewDialog1.Document = this.printDocument1;
下图是上述代码定制的打印预览对话框的模样:
七.具体的使用方法:
四个Button组件,名称分别为Button1、Button2、Button3和Button4。程序中通过其Click事件分别实现设定文本框的字体、颜色和读取、保存文本等操作。
一个SaveFileDialog组件,名称为SaveFileDialog1,用以创建文件保存对话框。
一个OpenFileDialog组件,名称为OpenFileDialog1,用以创建文件打开对话框。
一个FontDialog组件,名称为FontDialog1,用以创建字体对话框。
一个ColorDialog组件,名称为ColorDialog,用以创建颜色对话框。