`

OpenFileDialog and SaveFileDialog(转)

    博客分类:
  • .net
阅读更多
OpenFileDialog.FileName  是所打开文件的路径。
OpenFileDialog .SafeFileName 是打开文件的名称(包括后缀)。




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

对话框适用的场合:

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

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

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

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

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

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

7.ColorDialog用于选择颜色。

文件对话框:

OpenFileDialog:打开文件对话框

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";




System.ArgumentException和错误信息“The provided filter string is invalid”。过滤器前后也不允许有空格。

设置错误的Filter值会产生一个运行异常

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);
private void 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中定义的文件扩展名。如果设置了Filter和DefaultExt,则不论Filter是什么,都使用Default。

同OpenFileDialog一样,具有ValidateNames、CheckFileExists和CheckPathExists三个属性,区别是对于SaveFileDialog,CheckFileExists的默认值是false,表示可以提供新文件名,进行保存。

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

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

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

     SaveFileDialog sfd = new SaveFileDialog();
    private void miFileSaveAs_Click(object sender, EventArgs e)
    {
        if(sfd.ShowDialog() == DialogResult.OK)
        {
            string fileName = sfd.FileName;
            SaveFile(fileName);
        }
    }
    protected void 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,"SimpleEditor",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
        }
    }


  • 大小: 34.7 KB
  • 大小: 120.4 KB
  • 大小: 26.8 KB
  • 大小: 17.9 KB
  • 大小: 14.6 KB
  • 大小: 42.8 KB
分享到:
评论

相关推荐

    使用WPF扩展OpenFileDialog和SaveFileDialog

    对于实际代码实现,你可以参考`Extend-OpenFileDialog-and-SaveFileDialog-Using-WPF.pdf`文档,其中可能包含了详细的步骤和示例代码。`下载链接.txt`可能是提供进一步学习资料的链接,而`release.zip`可能包含了一...

    c#记事本实验报告

    - OpenFileDialog and SaveFileDialog in C# 总之,C#记事本程序是一个学习和实践C#编程基础的良好起点,通过实际操作,开发者可以更好地理解和运用C#中的类库和控件,为后续更复杂的项目打下坚实的基础。

    Apress - Pro .NET 2.0 Windows Forms and Custom Controls in C# (Dec 2005)

    7. **对话框和组件**:介绍OpenFileDialog、SaveFileDialog、MessageBox等对话框的使用,以及如何使用非托管代码(如COM组件)来扩展Windows Forms的功能。 8. **高级特性**:可能涉及多线程、菜单和工具栏的使用、...

    c# winfrom实例

    6. **对话框(Dialogs)**:WinForms还支持各种内置对话框,如OpenFileDialog、SaveFileDialog和MessageBox,用于打开文件、保存文件或显示消息。例如,使用`OpenFileDialog`打开文件: ```csharp OpenFileDialog ...

    winform基础十项

    5. **对话框(Dialog)**:常用对话框如OpenFileDialog、SaveFileDialog允许用户选择文件,MessageBox用于提示信息。这些对话框可以通过ShowDialog方法在程序中调用。 6. **图形绘制**:WinForm提供Graphics类,...

    vb.net记事本

    3. **对话框(Dialogs)**:如OpenFileDialog和SaveFileDialog,它们用于打开文件选择对话框,方便用户选择要打开或保存的文件。 接下来,我们来详细讲解每个功能的实现: **1. 新建(New)操作** 在“文件”菜单...

    用VB编写的记事本程序

    5. **对话框**:可能使用OpenFileDialog或SaveFileDialog来让用户选择打开或保存文件的位置。 6. **字符串处理**:可能涉及到字符串的搜索、替换(Mid、InStr、Replace函数等)。 7. **程序流程控制**:如条件语句...

    WinForm实例

    5. **对话框(Dialogs)**: WinForms提供了许多内置对话框,如OpenFileDialog、SaveFileDialog和MessageBox,它们可以方便地处理常见的用户交互任务,如打开文件、保存文件或显示消息。 6. **布局管理(Layout ...

    wenben_编辑器_characteristical2_

    - **打开和保存文件(OpenFileDialog和SaveFileDialog)**:VB提供了内置对话框控件,可以方便地实现文件的打开和保存功能,用户可以选择本地的文本文件进行读写操作。 - **文件流(FileStream)**:VB使用...

    福建省计算机二级VB选择题含答案.ppt

    - 文件对话框:利用OpenFileDialog和SaveFileDialog让用户选择文件。 10. **数据库访问**: - ADO(ActiveX Data Objects):用于连接数据库,执行SQL语句,如打开记录集、读取数据等。 以上是VB选择题可能涉及...

    简单的记事本

    但为了增强用户体验,还可以添加其他功能,如撤销/重做(Undo/Redo)、查找替换(Find and Replace)等。这些功能的实现涉及更多代码和对.NET Framework类库的深入理解。 总的来说,使用C# WinForm实现一个简单的...

    中文版WPF学习笔记

    - **对话框(Dialogs)**:包括MessageBox、OpenFileDialog、SaveFileDialog 和PrintDialog,用于与用户进行交互。 - **导航宿主(Navigation Hosts)**:包括Frame 和NavigationWindow,用于实现多页面应用中的导航功能...

    C# winForm框架

    - **内置对话框**:如OpenFileDialog、SaveFileDialog和MessageBox等,方便用户打开文件、保存文件或显示消息。 - **自定义对话框**:开发者还可以创建自己的对话框窗体,以满足特定需求。 7. **多线程...

    vb.net文件夹加密VB.NET实现文件加密

    If (openFileDialog1.ShowDialog() = DialogResult.OK) AndAlso (openFileDialog1.FileName.Length > 0) Then SourceFile.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText) End If End Sub...

    记事本 net C#

    4. **事件处理**:C#中的事件驱动编程,比如按钮点击事件(`Button_Click`),文件选择事件(`OpenFileDialog_FileOk`,`SaveFileDialog_FileOk`)等。 5. **异常处理**:在文件读写过程中,必须处理可能出现的异常...

    Visual_Basic_2008从入门到精通

    - **使用对话框控件**:介绍如何使用对话框控件,如 OpenFileDialog 和 SaveFileDialog,来实现文件打开和保存的功能。 #### 五、Visual Basic 变量、公式和 .NET Framework **5.1 Visual Basic 程序语句剖析** -...

    COMDLG32.OCX

    在.NET框架中,这些功能已经被封装在`System.Windows.Forms`命名空间下的类中,如`OpenFileDialog`和`SaveFileDialog`等,但COMDLG32.OCX仍然对旧版的Windows应用程序和非托管代码(unmanaged code)具有重要意义。...

    VB获取Windows常用文件夹的路径信息

    在进行这类操作时,还可以结合其他VB组件如OpenFileDialog或SaveFileDialog,让用户选择文件或文件夹,或者使用DirectoryInfo和FileInfo类来处理文件和目录的操作。此外,VB还支持事件驱动编程,可以根据用户的操作...

    常用对话框

    在Windows中,`OpenFileDialog`和`SaveFileDialog`控件是常用的实现方式,提供浏览、筛选文件类型等功能。 3. **颜色和字体选择对话框(Color and Font Choosers)**:用户通过这些对话框可以选择颜色和字体样式。...

Global site tag (gtag.js) - Google Analytics