系统对话框
系统自带的一些对话框类:
- OpenFileDialog:打开文件对话框
- SaveFileDialog:保存文件对话框
- FolderBrowserDialog:目录选择对话框
- ColorDialog:颜色选择对话框
- FontDialog:字体选择对括框
1.OpenFileDialog
显示一个标准对话框,提示用户选择文件。 此类不能被继承。
csharp
public sealed class OpenFileDialog : System.Windows.Forms.FileDialog继承:Object=》MarshalByRefObject=》Component=》CommonDialog=》FileDialog=》OpenFileDialog
下面实例可以自行添加Button,执行以下逻辑
c#
var fileContent = string.Empty;
var filePath = string.Empty;
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
openFileDialog.InitialDirectory = "c:\\";
openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog.FilterIndex = 2;
openFileDialog.RestoreDirectory = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// 获取选中文件路径
filePath = openFileDialog.FileName;
// 获取选中文件内容
var fileStream = openFileDialog.OpenFile();
using (StreamReader reader = new StreamReader(fileStream))
{
fileContent = reader.ReadToEnd();
}
}
}
MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK);1.1 构造函数
| 构造函数重载 | 描述 |
|---|---|
| OpenFileDialog() | 初始化 OpenFileDialog 类的实例。 |
1.2 属性
| 属性 | 描述 |
|---|---|
| AddExtension | 获取或设置一个值,该值指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。(继承自 FileDialog) |
| AddToRecent | 获取或设置一个值,该值指示对话框是将打开的文件还是保存到最近列表。(继承自 FileDialog) |
| AutoUpgradeEnabled | 获取或设置一个值,该值指示此 FileDialog 实例在 Windows Vista 上运行时是否应自动升级外观和行为。(继承自 FileDialog) |
| CanRaiseEvents | 获取一个指示组件是否可以引发事件的值。(继承自 Component) |
| CheckFileExists | 获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。 |
| CheckPathExists | 获取或设置一个值,该值指示如果用户指定不存在的路径,对话框是否显示警告。(继承自 FileDialog) |
| ClientGuid | 获取或设置要与此对话状态关联的 GUID。 通常情况下,状态(如最后访问的文件夹)和对话框的位置及大小将根据可执行文件的名称持久保存。 通过指定 GUID,一个应用程序对于同一应用程序中不同版本的对话框(例如,导入的对话框和打开的对话框),可以具有不同的持久状态。如果应用程序未使用视觉样式或如果 AutoUpgradeEnabled 设置为 false,则此功能不可用。(继承自 FileDialog) |
| Container | 获取包含 IContainer 的 Component。(继承自 Component) |
| CustomPlaces | 获取此 FileDialog 实例的自定义空间的集合。(继承自 FileDialog) |
| DefaultExt | 获取或设置默认文件扩展名。(继承自 FileDialog) |
| DereferenceLinks | 获取或设置一个值,该值指示对话框是否返回快捷方式引用的文件的位置,或者是否返回快捷方式 (.lnk) 的位置。(继承自 FileDialog) |
| DesignMode | 获取一个值,用以指示 Component 当前是否处于设计模式。(继承自 Component) |
| Events | 获取附加到此 Component 的事件处理程序的列表。(继承自 Component) |
| FileName | 获取或设置一个包含在文件对话框中选定的文件名的字符串。(继承自 FileDialog) |
| FileNames | 获取对话框中所有选定文件的文件名。(继承自 FileDialog) |
| Filter | 获取或设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。(继承自 FileDialog) |
| FilterIndex | 获取或设置文件对话框中当前选定筛选器的索引。(继承自 FileDialog) |
| InitialDirectory | 获取或设置文件对话框显示的初始目录。(继承自 FileDialog) |
| Instance | 获取应用程序的 Win32 实例句柄。(继承自 FileDialog) |
| Multiselect | 获取或设置一个值,该值指示对话框是否允许选择多个文件。 |
| OkRequiresInteraction | 获取或设置一个值,该值指示是否禁用对话框的“确定”按钮,直到用户导航视图或编辑文件名 ((如果适用) )。(继承自 FileDialog) |
| Options | 获取用来初始化 FileDialog 的值。(继承自 FileDialog) |
| ReadOnlyChecked | 获取或设置一个值,该值指示是否选定只读复选框。 |
| RestoreDirectory | 获取或设置一个值,该值指示该对话框在关闭前是否将目录还原为之前选定的目录。(继承自 FileDialog) |
| SafeFileName | 获取对话框中所选文件的文件名和扩展名。 文件名不包含路径。 |
| SafeFileNames | 获取对话框中所有选定文件的文件名和扩展名的数组。 文件名不包含路径。 |
| SelectReadOnly | 获取或设置一个值,该值指示对话框是否允许选择只读文件。 |
| ShowHelp | 获取或设置一个值,该值指示文件对话框中是否显示“帮助”按钮。(继承自 FileDialog) |
| ShowHiddenFiles | 获取或设置一个值,该值指示对话框是否显示隐藏文件和系统文件。(继承自 FileDialog) |
| ShowPinnedPlaces | 获取或设置一个值,该值指示是否显示视图导航窗格中默认显示的项。(继承自 FileDialog) |
| ShowPreview | 获取或设置一个值,该值指示对话框是否显示所选文件的预览。 |
| ShowReadOnly | 获取或设置一个值,该值指示对话框是否包含只读复选框。 |
| Site | 获取或设置 Component 的 ISite。(继承自 Component) |
| SupportMultiDottedExtensions | 获取或设置对话框是否支持显示和保存具有多个文件扩展名的文件。(继承自 FileDialog) |
| Tag | 获取或设置一个对象,该对象包含控件的数据。(继承自 CommonDialog) |
| Title | 获取或设置文件对话框标题。(继承自 FileDialog) |
| ValidateNames | 获取或设置一个值,该值指示对话框是否只接受有效的 Win32 文件名。(继承自 FileDialog) |
1.3 方法
1.4 事件
| 事件 | 描述 |
|---|---|
| Disposed | 在通过调用 Dispose() 方法释放组件时发生。(继承自 Component) |
| FileOk | 当用户单击文件对话框中的“打开”或 “保存”按钮时发生。(继承自 FileDialog) |
| HelpRequest | 当用户单击通用对话框中的“帮助”按钮时发生。(继承自 CommonDialog) |
2.SaveFileDialog
提示用户选择文件的保存位置。 此类不能被继承。
csharp
public sealed class SaveFileDialog : System.Windows.Forms.FileDialog继承继承Object=>MarshalByRefObject=>Component=>CommonDialog=>FileDialog=>SaveFileDialog
下面的代码示例演示如何创建 SaveFileDialog、设置成员、使用 ShowDialog 方法调用对话框以及保存当前文件。 本示例要求窗体上放置一个按钮
csharp
private void button1_Click(object sender, System.EventArgs e)
{
Stream myStream ;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
saveFileDialog1.FilterIndex = 2 ;
saveFileDialog1.RestoreDirectory = true ;
if(saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if((myStream = saveFileDialog1.OpenFile()) != null)
{
// Code to write the stream goes here.
myStream.Close();
}
}
}2.1 构造函数
| 构造函数重载 | 描述 |
|---|---|
| SaveFileDialog() | 初始化此类的新实例。 |
2.2 属性
| 属性 | 描述 |
|---|---|
| AddExtension | 获取或设置一个值,该值指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。(继承自 FileDialog) |
| AddToRecent | 获取或设置一个值,该值指示对话框是将打开的文件还是保存到最近列表。(继承自 FileDialog) |
| AutoUpgradeEnabled | 获取或设置一个值,该值指示此 FileDialog 实例在 Windows Vista 上运行时是否应自动升级外观和行为。(继承自 FileDialog) |
| CanRaiseEvents | 获取一个指示组件是否可以引发事件的值。(继承自 Component) |
| CheckFileExists | 获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。(继承自 FileDialog) |
| CheckPathExists | 获取或设置一个值,该值指示如果用户指定不存在的路径,对话框是否显示警告。(继承自 FileDialog) |
| CheckWriteAccess | 获取或设置一个值,该值指示对话框是否验证指定文件的创建是否成功。 如果未设置此标志,则调用应用程序必须处理创建项时发现的错误,例如拒绝访问。 |
| ClientGuid | 获取或设置要与此对话状态关联的 GUID。 通常情况下,状态(如最后访问的文件夹)和对话框的位置及大小将根据可执行文件的名称持久保存。 通过指定 GUID,一个应用程序对于同一应用程序中不同版本的对话框(例如,导入的对话框和打开的对话框),可以具有不同的持久状态。如果应用程序未使用视觉样式或如果 AutoUpgradeEnabled 设置为 false,则此功能不可用。(继承自 FileDialog) |
| Container | 获取包含 IContainer 的 Component。(继承自 Component) |
| CreatePrompt | 获取或设置一个值,该值指示如果用户指定不存在的文件,对话框是否提示用户允许创建该文件。 |
| CustomPlaces | 获取此 FileDialog 实例的自定义空间的集合。(继承自 FileDialog) |
| DefaultExt | 获取或设置默认文件扩展名。(继承自 FileDialog) |
| DereferenceLinks | 获取或设置一个值,该值指示对话框是否返回快捷方式引用的文件的位置,或者是否返回快捷方式 (.lnk) 的位置。(继承自 FileDialog) |
| DesignMode | 获取一个值,用以指示 Component 当前是否处于设计模式。(继承自 Component) |
| Events | 获取附加到此 Component 的事件处理程序的列表。(继承自 Component) |
| ExpandedMode | 获取或设置一个值,该值指示对话框是否始终在扩展模式下打开。 |
| FileName | 获取或设置一个包含在文件对话框中选定的文件名的字符串。(继承自 FileDialog) |
| FileNames | 获取对话框中所有选定文件的文件名。(继承自 FileDialog) |
| Filter | 获取或设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。(继承自 FileDialog) |
| FilterIndex | 获取或设置文件对话框中当前选定筛选器的索引。(继承自 FileDialog) |
| InitialDirectory | 获取或设置文件对话框显示的初始目录。(继承自 FileDialog) |
| Instance | 获取应用程序的 Win32 实例句柄。(继承自 FileDialog) |
| OkRequiresInteraction | 获取或设置一个值,该值指示是否禁用对话框的“确定”按钮,直到用户导航视图或编辑文件名 ((如果适用) )。(继承自 FileDialog) |
| Options | 获取用来初始化 FileDialog 的值。(继承自 FileDialog) |
| OverwritePrompt | 获取或设置一个值,该值指示如果用户指定的文件名已存在,Save As 对话框是否显示警告。 |
| RestoreDirectory | 获取或设置一个值,该值指示该对话框在关闭前是否将目录还原为之前选定的目录。(继承自 FileDialog) |
| ShowHelp | 获取或设置一个值,该值指示文件对话框中是否显示“帮助”按钮。(继承自 FileDialog) |
| ShowHiddenFiles | 获取或设置一个值,该值指示对话框是否显示隐藏文件和系统文件。(继承自 FileDialog) |
| ShowPinnedPlaces | 获取或设置一个值,该值指示是否显示视图导航窗格中默认显示的项。(继承自 FileDialog) |
| Site | 获取或设置 Component 的 ISite。(继承自 Component) |
| SupportMultiDottedExtensions | 获取或设置对话框是否支持显示和保存具有多个文件扩展名的文件。(继承自 FileDialog) |
| Tag | 获取或设置一个对象,该对象包含控件的数据。(继承自 CommonDialog) |
| Title | 获取或设置文件对话框标题。(继承自 FileDialog) |
| ValidateNames | 获取或设置一个值,该值指示对话框是否只接受有效的 Win32 文件名。(继承自 FileDialog) |
2.3 方法
2.4 事件
| 事件 | 描述 |
|---|---|
| Disposed | 在通过调用 Dispose() 方法释放组件时发生。(继承自 Component) |
| FileOk | 当用户单击文件对话框中的“打开”或 “保存”按钮时发生。(继承自 FileDialog) |
| HelpRequest | 当用户单击通用对话框中的“帮助”按钮时发生。(继承自 CommonDialog) |
3.FolderBrowserDialog
提示用户选择文件夹。 此类不能被继承。
csharp
public sealed class FolderBrowserDialog : System.Windows.Forms.CommonDialog继承:Object=》MarshalByRefObject=》Component=》CommonDialog=》FolderBrowserDialog
