c#打开、保存对话框的使用

 

对话框中我们常用了以下几种:
  1、文件对话框(FileDialog) 它又常用到两个:
   打开文件对话框(OpenFileDialog)
   保存文件对话(SaveFileDialog)
  2、字体对话框(FontDialog)
  3、颜色对话框(olorDialog)
  4、打印预浏对话框(PrintPreviewDialog)
  5、页面设置(PrintDialog)
  6、打印对话框(PrintDialog)
  还有更多,有时间的网友可以看看MSDN。下面我们一个个来介绍。在介绍的过程中我用到了一个自己开发的类:File,主要是文件操作的。
文件对话框(FileDialog)
  一、打开文件对话框(OpenFileDialog)
  1OpenFileDialog控件有以下基本属性

InitialDirectory

对话框的初始目录

Filter

要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"

FilterIndex

在对话框中选择的文件筛选器的索引,如果选第一项就设为1

RestoreDirectory

控制对话框在关闭之前是否恢复当前目录

FileName

第一个在对话框中显示的文件或最后一个选取的文件

Title

将显示在对话框标题栏中的字符

AddExtension

是否自动添加默认扩展名

CheckPathExists

在对话框返回之前,检查指定路径是否存在

DefaultExt

默认扩展名

DereferenceLinks

在从对话框返回前是否取消引用快捷方式

ShowHelp

启用"帮助"按钮

ValiDateNames

控制对话框检查文件名中是否不含有无效的字符或序列

  2OpenFileDialog控件有以下常用事件

FileOk

当用户点击"打开""保存"按钮时要处理的事件

HelpRequest

当用户点击"帮助"按钮时要处理的事件

 

可以用以下代码来实现上面这个对话框:

private void openFileDialogBTN_Click(object sender, System.EventArgs e){
OpenFileDialog openFileDialog=new OpenFileDialog ();
openFileDialog.InitialDirectory="c://";//注意这里写路径时要用c://而不是c:/
openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";
openFileDialog.RestoreDirectory=true;
openFileDialog.FilterIndex=1;
if (
openFileDialog.ShowDialog()==DialogResult.OK)
{
fName=
openFileDialog.FileName;
File fileOpen=new File(fName);
isFileHaveName=true;
richTextBox1.Text=fileOpen.ReadFile();
richTextBox1.AppendText("");
}
}

  其中有用到了File()这个类,是我在程序用来执行文件操作,自己写的,在最后附了这个类的源码。有兴趣的网友可以自己分析。

二、保存文件对话框(SaveFileDialog)
  保存文件对话框控件有两种情况,一就是保存,二就是另存为,保存很简单,就是在文件已经打开的情况下的,再把文件写一篇,在这里我们主要讲另存为的情况(SaveAs)
  1SaveFileDialog控件的属性:参考OpenFileDialog

  2SaveFileDialog事件如下:参考OpenFileDialog

3、用下例代码可以实现

private void saveAsDialogBTN_Click(object sender, System.EventArgs e)
{
SaveFileDialog saveFileDialog=new SaveFileDialog();
saveFileDialog.Filter="
文本文件|*.*|C#文件|*.cs|所有文件|*.*";
saveFileDialog.FilterIndex=2;
saveFileDialog.RestoreDirectory=true;
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
fName=saveFileDialog.FileName;
File fSaveAs=new File(fName);
isFileHaveName=true; file://
保存的文件有名字
fSaveAs.WriteFile(richTextBox1.Text);
}
}
}

其实这些都可以在VS.NETIDE环境中直接完成,为了说明问题,我还是一条条列也来了。当中用到了一个File的类库,下面是源程序:
  File.cs

using System;
using System.IO;
using System.Windows.Forms;
using System.Text;

namespace dialog
{
///

/// Summary description for File.
///
public class File
{
string fileName;
public File(string fileName)
{
this.fileName=fileName;
}

public string ReadFile()
{
try
{
StreamReader sr=new StreamReader(fileName,Encoding.Default);
string result=sr.ReadToEnd();
sr.Close();
return result;
}
catch(Exception e){MessageBox.Show(e.Message);}
return null;
}

public void WriteFile(string str)
{
try
{
StreamWriter sw=new StreamWriter(fileName,false,Encoding.Default);
sw.Write(str);
sw.Close();
}
catch(Exception e){MessageBox.Show(e.Message,"
保存文件出错!");}
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值