`
weixing
  • 浏览: 81743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

c# 中openFileDialog控件和saveFileDialog控件的对比和使用总结

    博客分类:
  • .NET
 
阅读更多

c# <wbr>中openFileDialog控件和saveFileDialog控件的对比和使用总结


 除了PrintPreviewDialog外,其他对话框类都派生于抽象基类CommonDialog,这个基类的方法可以管理Windows通用对话框。

 

对话框适用的场合:

1.要让用户选择和浏览要打开的文件,应使用OpenFileDialog。这个对话框可以配置为只允许选择一个文件,或可以选择多个文件。

2.使用SaveFileDialog,用户可以为要保存的文件指定一个文件名和浏览的路径。

3PrintDialog用户选择一个打印机,并设置打印选项。

4.配置页面的边距,通常使用PageSetupDialog

5PrintViewDialog是在屏幕上进行打印预览的一种方法,并有一些选项如缩放。

6FontDialog列出了所有已安装的Windows字体、样式和字号,以及各字体的预览效果,以便选择字体。

7ColorDialog用于选择颜色。

 

文件对话框:

l         OpenFileDialog:打开文件对话框

l         SaveFileDialog:保存文件对话框

打开文件对话框

            OpenFileDialog ofd =new OpenFileDialog();

            ofd.ShowDialog();


    会弹出一个打开文件的对话框。

通过修改对象的Title属性,可以更改对话框的标题

现在显示的是“打开”,做如下设置

            ofd.Title ="设置后标题文字:)";

再次运行程序,我们就会看到相应的修改


    我们还可以通过设置
InitialDirectory属性来使打开文件对话框打开时在一个设置好的默认路径上。它的默认值是一个空字符串,表示用户的“我的文档”目录,第一次在应用程序中使用这个对话框时,就显示“我的文档”目录下的文件,第二次再打开对话框时,显示的目录就与上一次打开的文件所在的目录相同。

在实际使用的时候,不要写死一个路径,如果用户不存在这个路径会出现错误。为了获取特定的系统文件夹,可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可以定义要返回路径的哪个系统目录。

            ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Templates);

设置文件过滤器用于打开文件对话框中显示特定类型的文件。

            ofd.Filter ="Text Document(*.txt)|*.txt|All Files|*.*|我要显示的文件类型(*.exe)|*.exe";


    设置错误的Filter值会产生一个运行异常
System.ArgumentException和错误信息“The provided filter string is invalid”。过滤器前后也不允许有空格。

FilterIndex属性指定列表框中的默认选项。

设置文件有效性验证ValidateNames,验证用户输入是否是一个有效的Windows文件名。

CheckPathExists:验证路径有效性

CheckFileExists:验证文件有效性

            ofd.ValidateNames =true;

            ofd.CheckPathExists =true;

            ofd.CheckFileExists =true;

自定义帮助信息:

设置对象的ShowHelp属性可以出现一个帮助按钮,自定义帮助信息。

通过HelpRequest事件添加一个处理程序。

            ofd.ShowHelp =true;

            ofd.HelpRequest +=new EventHandler(ofd_HelpRequest);

        privatevoid ofd_HelpRequest(object sender, EventArgs e)

        {

            MessageBox.Show("我自己定义的帮助信息:)");

        }


    
    单击帮助按钮就会显示我定义的帮助信息。



    设置
Multiselect属性可以使打开文件对话框打开多个文件。

通过如下判断可以得到打开文件对话框单击的是哪个按钮。

            if(ofd.ShowDialog() == DialogResult.OK)

            {

            }

 

保存文件对话框:

使用Title属性设置对话框的标题。

文件扩展名:

AddExtension是一个布尔属性,它定义了文件扩展名是否应自动添加到用户输入的文件名上。如果用户已经输入了一个文件扩展名,就不会添加其它扩展名了。所以如果用户输入了文件名test,就保存文件test.txt,如果输入了test.txt,保存的文件仍是test.txt,而不是test.txt.txt

如果用户没有输入文件扩展名,就使用DefaultExt属性设置的文件扩展名。如果这个属性为空,就使用当前选择的Filter中定义的文件扩展名。如果设置了FilterDefaultExt,则不论Filter是什么,都使用Default

OpenFileDialog一样,具有ValidateNamesCheckFileExistsCheckPathExists三个属性,区别是对于SaveFileDialogCheckFileExists的默认值是false,表示可以提供新文件名,进行保存。

如果设置CreatePrompt属性为true,就会询问用户是否要创建一个新文件。

如果设置OverwritePrompt属性为true,就会询问用户是否要覆盖一个已有的文件。

进行如下定义一个保存文件对话框后,我们通过如下功能可以实现一个另存为的功能:

SaveFileDialog sfd =new SaveFileDialog();

    privatevoid miFileSaveAs_Click(object sender, EventArgs e)

    {

        if(sfd.ShowDialog() == DialogResult.OK)

        {

            string fileName = sfd.FileName;

            SaveFile(fileName);

        }

    }

 

    protectedvoid SaveFile(string fileName)

    {

        try

        {

            Stream stream = File.OpenWrite(fileName);

            using(StreamWriter writer =new StreamWriter(stream))

            {

                writer.Write(textBox1.Text);

            }

        }

        catch(IOException ex)

        {

            MessageBox.Show(ex.Message,"Simple Editor",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

        }

    }

分享到:
评论

相关推荐

    C#112RichTextBox,openFileDialog,saveFileDialog的应用

    总结来说,C#的`RichTextBox`控件提供了强大的文本编辑功能,而`OpenFileDialog`和`SaveFileDialog`则简化了文件的打开和保存操作。通过熟练掌握这三个组件的使用,开发者能够构建出功能丰富的文本编辑应用。在实践...

    c#_OpenFileDialog_用法

    本文将详细介绍如何在C#应用程序中使用`OpenFileDialog`控件,并结合示例代码来解释其主要属性和方法。 #### 1. 引入必要的命名空间 在使用`OpenFileDialog`之前,需要引入`System.Windows.Forms`命名空间,因为`...

    C#控件大全_C#_控件大全_

    4. **对话框控件**:**OpenFileDialog**和**SaveFileDialog**用于打开或保存文件,**MessageBox**用于显示警告或确认消息,**ColorDialog**和**FontDialog**则允许用户选择颜色和字体。 5. **高级控件**:如**...

    文本文件与RichTextBox,openFileDialog,saveFileDialog的应用,C#源代码

    总之,`RichTextBox`、`OpenFileDialog`和`SaveFileDialog`是C#开发中常用且强大的工具,理解并熟练掌握它们的用法对于提高应用程序的用户体验和功能完整性至关重要。通过实践和探索,你可以创建更复杂的文本编辑和...

    C#.net控件大全(3)

    总的来说,"C#.net控件大全(3)"是一个全面的教程,涵盖了C#开发中控件使用的各个方面。通过学习这些章节,开发者不仅能掌握基本控件的用法,还能了解如何利用.NET框架的灵活性创建复杂且高效的用户界面。对于想要...

    C#控件属性事件大全

    本文将详细介绍这些元素,帮助开发者更好地理解和使用C#中的控件及其相关属性和事件。 1. **窗体(Form)** 窗体是应用程序的基础,承载着其他控件。窗体具有多个属性,如`Size`、`Location`用于控制大小和位置,`...

    C# 控件查询手册,c#控件库,C#源码.zip

    开发者可以通过阅读和运行这些源码,了解如何在实际项目中使用和定制控件。 总的来说,这个压缩包文件为C#开发者提供了一个全面的学习资源,涵盖了控件基础知识、扩展控件库以及实际应用案例。通过深入学习和实践,...

    C#--winform--常用控件大全.doc

    16、HScrollBar 控件和 VScrollBar控件的使用 13 17、OpenFileDialog 控件 13 18、SaveFileDialog 控件 14 19、FontDialog 控件 14 20、ColorDialog控件 14 21、PrintDialog控件和 PrintDocument 控件 15 22、用户...

    C#.net控件大全(1)

    第4章可能涵盖对话框控件,如OpenFileDialog和SaveFileDialog。这些控件提供标准的文件打开和保存对话框,增强用户体验。 第5章可能涉及用户输入验证控件,例如MaskedTextBox和ValidationSummary。MaskedTextBox...

    C# 基本控件使用示例

    本教程将深入探讨C#中的基本控件使用,帮助开发者更好地理解和运用这些工具。 1. **文本框(TextBox)** 文本框控件(TextBox)用于接收用户的单行或多行文本输入。在C#中,可以设置其`Text`属性来获取或设置文本...

    C# 控件查询手册,c#控件库,C#

    本手册详尽地介绍了C#中常见的控件及其使用方法,旨在为C#程序员提供一个实用的查询资源。以下是根据标题、描述以及关联的PDF文件,对C#控件库的重要知识点的深度解析。 1. **窗体控件(Form Controls)**:C#中的...

    C#控件名称简写

    菜单和工具栏是指可以在窗体中使用的菜单和工具栏控件,这些控件可以分为多个类别,例如ContextMenu、MenuStrip、ToolStrip等。 * ContextMenuStrip (cms):当用户右击关联菜单时显示快捷菜单控件,用于显示快捷...

    C#常用控件使用方法第一部分(源码VS2010)

    本资料包“C#常用控件使用方法第一部分(源码VS2010)”显然是针对初学者或希望深入理解C#控件操作的开发者设计的,包含了多个示例项目,帮助学习者掌握C#中的基本和常见控件的使用。 首先,我们来看看`Form1`。在...

    C# 中常用控件的查询手册

    在C#编程中,控件是构建用户界面(UI)的核心元素,它们允许用户与应用程序进行交互。本手册旨在提供C#中常...在`C# 控件查询手册.pdf`中,你将找到更详尽的控件使用说明和示例代码,为你的C#编程之旅提供有力的支持。

    VisualC#2008控件使用范例详解 书全套代码

    《Visual C# 2008控件使用范例详解》是一本专注于C#编程语言在Windows应用程序开发中的实践指南,特别关注了控件的使用。这本书提供的全套代码旨在帮助开发者深入理解C#中各种控件的功能、用法以及如何在实际项目中...

    C# windows forms 控件应用 适合初学者

    在C#中,通常使用OpenFileDialog和SaveFileDialog控件来实现。OpenFileDialog允许用户从计算机中选择一个文件,而SaveFileDialog则用于让用户指定保存文件的位置和名称。这些对话框提供了一种标准的用户界面,遵循...

    很强大的C#/WinForm控件, 包含几乎所有的WinForm工具

    在本文中,我们将深入探讨C# WinForm应用开发中使用的强大控件库,以及它们如何极大地提升开发效率和用户体验。标题“很强大的C#/WinForm控件, 包含几乎所有的WinForm工具”揭示了这个压缩包可能包含一系列用于...

    C#控件大全

    "C#控件大全"这个资源可能包含了关于C#中各种控件的全面教程和示例代码,帮助开发者更好地理解和使用这些工具。在这里,我们将详细探讨一些关键的C#控件及其应用。 1. 基本控件: - **Label**:用于显示静态文本,...

    C#高级控件(C#无源码)

    在C#的开发过程中,我们经常会遇到一些高级控件,这些控件可以提供更丰富的用户界面(UI)功能和更好的用户体验。"C#高级控件(C#无源码)"这个主题可能是指一些预构建的UI组件库,它们可能是商业组件或开源项目,...

    C#中RichTextBox控件+扩展工具栏(toolbar)实现的简单文本编辑器

    这通常会涉及使用`SaveFileDialog`和`OpenFileDialog`控件,以及读写文件的方法: ```csharp private void btnSave_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); ...

Global site tag (gtag.js) - Google Analytics