分析C#中Dialog控件
对话框是Widows系统中的一种用来和使用者实现交互的特殊窗口。在Windows系统中,常见的对话框,根据使用方式和性质一般分成以下六种类型:文件打开对话框、文件保存对话框、字体选择对话框、颜色选择对话框和打印机设置对话框和文件打印预览对话框。至于这六个对话框的在Windows系统的表现形式和所起的具体作用,我想各位一定都很清楚了,这里也就不一一介绍了。
首先要明确的是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类处理和打印机设置对话框相关操作。
C#在使用上述六种类来处理Windows系统常见的六种对话框时,其主要的步骤如下:
1. 实例化上述类,即:创建上述类的实例。
2. 初始化创建的实例,并显示。
3. 处理对话框返回的数据。
下面首先来介绍这六个类的组成结构。这六个类在结构上有相似之处,表现在某些类有很多名称、作用相同的组成成员。另外这六个类的方法结构都比较简单,其中最为重要的方法是"ShowDialog",其作用是都是显示对话框。
一.文件选择对话框:
在C#中创建的文件选择对话框其实就是OpenFileDialog类的实例。通过对设定
OpenFileDialog类的属性来定制文件选择对话框的式样和功能。OpenFileDialog类的主要属性如下表:
属性
说明
AddExtension
该值指示如果用户省略扩展名对话框是否自动在文件名中添加扩展名。
CheckFileExists
该值指示如果用户指定不存在的文件名对话框是否显示警告。
CheckPathExists
该值指示如果用户指定不存在的路径对话框是否显示警告。
DefaultExt
获取或设置默认文件扩展名。
DereferenceLinks
该值指示对话框是否返回快捷方式引用的文件的位置或者是否返回快捷方式
FileName
字符串,获取或设置一个包含在文件对话框中选定的文件名的字符串。
FileNames
字符串数组,获取对话框中所有选定文件的文件名。
Filter
字符串,获取或设置当前文件名筛选器字符串该字符串决定对话框的"另存为文件类型"或"文件类型"框中出现的选择内容。
FilterIndex
整型,获取或设置文件对话框中当前选定筛选器的索引。
InitialDirectory
字符串,获取或设置文件对话框显示的初始目录。
Multiselect
布尔型,该值指示对话框是否允许选择多个文件。
ReadOnlyChecked
布尔型,该值指示是否选定只读复选框。
RestoreDirectory
布尔型该值指示对话框在关闭前是否还原当前目录。
ShowHelp
布尔型,该值指示文件对话框中是否显示"帮助"按钮。
ShowReadOnly
布尔型,该值指示对话是否包含只读复选框。
Title
字符串,获取或设置文件对话框标题。
C#通过调用OpenFileDialog类实例的ShowDialog方法显示创建的实例,这样一个文件选择对话框就显示出来了。
下列代码的作用在C#中通过创建一个OpenFileDialog实例,并设定此实例的各个属性值,来定制一个可以选择多个文件的文件选择对话框,并且把使用此对话框选择的多个文件名称通过提示框显示出来。请各位读者注意具体的实现方法:
DialogResult d = openFileDialog1.ShowDialog();
if (d == DialogResult.OK)
{
string[] fileNames = openFileDialog1.FileNames;
string fileNameString = string.Empty;
foreach (string s in fileNames)
{
fileNameString = fileNameString + s + " ";
}
MessageBox.Show(fileNameString);
}
下图是上述代码定制的打开文件对话框的模样:
下图是上述程序中以提示框显示经过下图中所示的文件选择对话框选择的数据,即选择的多个文件名称:
二.文件保存对话框:
C#中创建文件保存对话框是使用SaveFileDialog类,SaveFileDialog类的结构OpenFileDialog类的结构非常相似。下表是SaveFileDialog类的主要属性及其说明:
属性
说明
AddExtension
该值指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。
CheckFileExists
该值指示如果用户指定不存在的文件名,对话框是否显示警告。
CheckPathExists
该值指示如果用户指定不存在的路径,对话框是否显示警告。
CreatePrompt
该值指示如果用户指定不存在的文件,对话框是否提示用户允许创建该文件。
DefaultExt
获取或设置默认文件扩展名。
DereferenceLinks
该值指示对话框是否返回快捷方式引用的文件的位置,或者是否返回快捷方式
FileName
获取或设置一个包含在文件对话框中选定的文件名的字符串。
FileNames
获取对话框中所有选定文件的文件名。
Filter
获取或设置当前文件名筛选器字符串,该字符串决定对话框的"另存为文件类型"或"文件类型"框中出现的选择内容。
FilterIndex
获取或设置文件对话框中当前选定筛选器的索引。
InitialDirectory
获取或设置文件对话框显示的初始目录。
OverwritePrompt
该值指示如果用户指定已存在的文件名,"另存为"对话框是否显示警告。
RestoreDirectory
该值指示对话框在关闭前是否还原当前目录。
ShowHelp
该值指示文件对话框中是否显示"帮助"按钮。
Title
获取或设置文件对话框标题。
三.字体选择对话框:
C#中创建字体选择对话框是通过FontDialog类,FontDialog类结构也不复杂,和上面介绍的二个类也有很多相似之处,具体如下表所示:
属性
说明
AllowScriptChange
指示用户能否更改
AllowSimulations
指示对话框是否允许图形设备接口
AllowVectorFonts
指示对话框是否允许选择矢量字体。
AllowVerticalFonts
指示对话框是既显示垂直字体又显示水平字体,还是只显示水平字体。
Color
获取或设置选定字体的颜色。
FixedPitchOnly
指示对话框是否只允许选择固定间距字体。
Font
获取或设置选定的字体。
FontMustExist
指示对话框是否指定当用户试图选择不存在的字体或样式时的错误条件。
MaxSize
获取或设置用户可选择的最大磅值。
MinS
补充:软件开发 , C# ,