系统支持的几种对话框
对话框在我们日常编程中是常用到,根据不同的需求创建不同的对话框,Visual Studio也为我们提供了一套标准的对话框,我们可以快速加到项目中从而避免了编写自己的对话框,我根据平常的应用总结了以下7种对话框应用的环境和示例代码,希望对在这方面迷惑的朋友有点帮助。
以下是几种对话框:
1、OpenFileDialog:选择一个现有的文件名或者输入一个新的文件名。可选地,他可以确保指定的已有的文件。还支持要显示的特定文件扩展名的说明。
属性:
InitialDirectory | 对话框的初始目录 |
Filter | 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" |
FilterIndex | 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 |
RestoreDirectory | 控制对话框在关闭之前是否恢复当前目录 |
FileName | 第一个在对话框中显示的文件或最后一个选取的文件 |
Title | 将显示在对话框标题栏中的字符 |
AddExtension | 是否自动添加默认扩展名 |
CheckPathExists | 在对话框返回之前,检查指定路径是否存在 |
DefaultExt | 默认扩展名 |
DereferenceLinks | 在从对话框返回前是否取消引用快捷方式 |
ShowHelp | 启用"帮助"按钮 |
ValiDateNames | 控制对话框检查文件名中是否不含有无效的字符或序列 |
FileOk | 当用户点击"打开"或"保存"按钮时要处理的事件 |
HelpRequest | 当用户点击"帮助"按钮时要处理的事件 |
该对话框允许指定在目录列表中包含那种文件类型。文件类型通过文件扩展名指定,它们被分组为带有描述和文件列表的集合,竖直线(|)用于分各个组。每组包含两部分:描述和文件扩展名。文件扩展名必须用逗号分隔。另外可以在对话框上设置 标题,而且可以在调用ShowDialog请指定完全路径名作为FileName,该目录将自动显示,文件也会高亮。
示例代码:
OpenFileDialog ofd = new OpenFileDialog();
ofd.CheckFileExists = false;
ofd.Filter = "All files(*.*)|*.*|Image Files" + "(*.BMP;*.JPG;*.jif)|*.BMP;*.JPG;*.GIF";
ofd.FilterIndex = 0;
ofd.Title = "Open Image Type File";
DialogResult result = ofd.ShowDialog();
if (result != DialogResult.Cancel && ofd.FileName != "")
Label1.Text = "OpenFileDialog.FileName = " + ofd.FileName;
2、SavaFileDialog:本质上和OpenFileDialog一样,但是如果指定了现有文件,他会警告并询问是否想重写现有文件。
属性:
Filter | 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*" |
FilterIndex | 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 |
RestoreDirectory | 控制对话框在关闭之前是否恢复当前目录 |
AddExtension | 是否自动添加默认扩展名 |
CheckFileExists | 指定不存在文件是,是否显示警告 |
CheckPathExists | 在对话框返回之前,检查指定路径是否存在 |
Container | 控制在将要创建文件时,是否提示用户。只有在ValidateNames为真值时,才适用。 |
DefaultExt | 缺省扩展名 |
DereferenceLinks | 在从对话框返回前是否取消引用快捷方式 |
FileName | 第一个在对话框中显示的文件或最后一个选取的文件 |
InitialDirector | 对话框的初始目录 |
OverwritePrompt | 控制在将要在改写现在文件时是否提示用户,只有在ValidateNames为真值时,才适用 |
ShowHelp | 启用"帮助"按钮 |
Title | 将显示在对话框标题栏中的字符 |
ValidateNames | 控制对话框检查文件名中是否不含有无效的字符或序列 |
FileOk | 当用户点击"打开"或"保存"按钮时要处理的事件 |
HelpRequest | 当用户点击"帮助"按钮时要处理的事件 |
示例代码:
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "All files(*.*)|*.*";
if (sfd.ShowDialog() != DialogResult.Cancel && sfd.FileName != "")
Label1.Text = "SaveFileDialog.FileName = " + sfd.FileName;
3、FolderBrowserDialog:选择文件夹(不是文件)或者创建一个新文件夹。
属性:
Description | 在对话框中提供描述性的消息 |
RootFolder | 指示对话框开始浏览的根文件夹 |
SelectedPath | 只是用户所选的文件夹 |
ShowNewFolderButton | 指示Make New Folder 按钮是否显示在对话框中 |
该对话框允许用户选择一个路径而不是一个单独文件。用户也可以创建目录。
示例代码:
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() != DialogResult.Cancel)
Label1.Text = "FileBrowerDialog.SelectedPath" + fbd.SelectedPath;
4、ColorDialog:从系统集合中选择颜色。
属性:
AllowFullOpen | 禁止和启用"自定义颜色"按钮 |
FullOpen | 是否最先显示对话框的"自定义颜色"部份 |
ShowHelp | 是否显示"帮助"按钮 |
Color | 在对话框中显示的颜色 |
AnyColor | 显示可选择任何颜色 |
CustomColors | 是否显示自定义颜色 |
SolidColorOnly | 是否只能选择纯色 |
允许用户从基本颜色中选择或者创建定制的颜色。Color作为返回属性。
示例代码:
ColorDialog cd = new ColorDialog();
if (cd.ShowDialog() != DialogResult.Cancel)
Label1.ForeColor = cd.Color;
5、FontDialog:选择字体外观,大小和格式(粗体、斜体、下划线)。
属性:
ShowColor | 控制是否显示颜色选项 |
AllowScriptChange | 是否显示字体的字符集 |
Font | 在对话框显示的字体 |
AllowVerticalFonts | 是否可选择垂直字体 |
Color | 在对话框中选择的颜色 |
FontMustExist | 当字体不存在时是否显示错误 |
MaxSize | 可选择的最大字号 |
MinSize | 可选择的最小字号 |
ScriptsOnly | 显示排除OEM和Symbol字体 |
ShowApply | 是否显示"应用"按钮 |
ShowEffects | 是否显示下划线、删除线、字体颜色选项 |
ShowHelp | 是否显示"帮助"按钮 |
示例代码:
FontDialog fd = new FontDialog();if (fd.ShowDialog() != DialogResult.Cancel)
Label1.Font = fd.Font;
6、PageSetupDialog:设置页面边距、纸张大小和纸张来源,和landscape方向或者portrait方向。还可以访问缩写版本的PrintDialog。
属性:
AllowMargins | 设置是否可以对边距的编辑 |
AllowOrientation | 是否可以使用"方向"单选框 |
AllowPaper | 设置是否可以对纸张大小的编辑 |
AllowPrinter | 设置是否可以使用"打印机"按钮 |
Document | 获取打印机设置的PrintDocument |
MinMargins | 允许用户选择的最小边距 |
示例代码:
PageSetupDialog psd = new PageSetupDialog();psd.Document = new System.Drawing.Printing.PrintDocument();if (psd.ShowDialog() != DialogResult.Cancel)
Label1.Text = "Margins(1/100\"):" + "L=" + psd.PageSettings.Margins.Left + "R=" + psd.PageSettings.Margins.Right + "T=" +psd.PageSettings.Margins.Top + "B=" + psd.PageSettings.Margins.Bottom;
7、PrintDialog:通过名称和指定副本数量来选择打印机就。设置打印机的特性。
属性:
AllowPrintToFile | 禁止或使用"打印到文件"复选框 |
AllowSelection | 禁止或使用"选定内容"单选框 |
AllowSomePages | 禁止或使用"页"单选按钮 |
Document | 从中获取打印机设置的PrintDocument |
PrintToFile | 打印到文件"复选框是否选中 |
ShowHelp | 控制是否显示"帮助"按钮 |
ShowNetWork | 控制是否显示"网络"按钮 |
示例代码:
PrintDialog pd = new PrintDialog();pd.Document = new System.Drawing.Printing.PrintDocument();if (pd.ShowDialog() != DialogResult.Cancel)
Label1.Text = "PrintDialog.PrinterSettings.PrinterName=" + pd.PrinterSettings.PrinterName;
以上几种对话框类,每一个都是从CommonDialog派生,继承了他们所有成员和属性,然后基于该对话框专门用途为每个类加入专用的属性和方法。