科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Visual C# 对话框全接触

Visual C# 对话框全接触

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

VS.net bate 2出来也很久了,感觉还可以。早一阵子,朋友让我帮他写两个打印程序,当中用了不少的对话

作者:蚕蛹 来源:yesky 2007年11月14日

关键字: Visual C# 对话框 接触

  • 评论
  • 分享微博
  • 分享邮件
VS.net bate 2出来也很久了,感觉还可以。早一阵子,朋友让我帮他写两个打印程序,当中用了不少的对话,在查资料的时候看到国外有一篇专门的文章介绍对话框的,就决定写这篇文章,让大家都有个好的起点。同时还着重介绍了打印那一部份,大家可以仔细研究一下,都说了很多了。现在我们开发吧!

  对话框中我们常用了以下几种:

  1、文件对话框(FileDialog) 它又常用到两个:

   打开文件对话框(OpenFileDialog)

   保存文件对话(SaveFileDialog)

  2、字体对话框(FontDialog)

  3、颜色对话框(ColorDialog)

  4、打印预浏对话框(PrintPreviewDialog)

  5、页面设置(PrintDialog)

  6、打印对话框(PrintDialog)

  还有更多,有时间的网友可以看看MSDN。下面我们一个个来介绍。在介绍的过程中我用到了一个自己开发的类:File,主要是文件操作的。


  文件对话框(FileDialog)

  一、打开文件对话框(OpenFileDialog)

  1、 OpenFileDialog控件有以下基本属性

InitialDirectory 对话框的初始目录
Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
FileName 第一个在对话框中显示的文件或最后一个选取的文件
Title 将显示在对话框标题栏中的字符
AddExtension 是否自动添加默认扩展名
CheckPathExists
在对话框返回之前,检查指定路径是否存在
DefaultExt 默认扩展名
DereferenceLinks 在从对话框返回前是否取消引用快捷方式
ShowHelp
启用"帮助"按钮
ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列

  2、 OpenFileDialog控件有以下常用事件

FileOk 当用户点击"打开"或"保存"按钮时要处理的事件
HelpRequest 当用户点击"帮助"按钮时要处理的事件

  3、OpenFileDialog的效果如下:

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

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)。

  1,SaveFileDialog控件的属性

Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"
FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
AddExtension 是否自动添加默认扩展名
CheckFileExists  
CheckPathExists
在对话框返回之前,检查指定路径是否存在
Container 控制在将要创建文件时,是否提示用户。只有在ValidateNames为真值时,才适用。
DefaultExt 缺省扩展名
DereferenceLinks
在从对话框返回前是否取消引用快捷方式
FileName 第一个在对话框中显示的文件或最后一个选取的文件
InitialDirector 对话框的初始目录
OverwritePrompt 控制在将要在改写现在文件时是否提示用户,只有在ValidateNames为真值时,才适用
ShowHelp 启用"帮助"按钮
Title 将显示在对话框标题栏中的字符
ValidateNames 控制对话框检查文件名中是否不含有无效的字符或序列

  2、SaveFileDialog事件如下:

FileOk 当用户点击"打开"或"保存"按钮时要处理的事件
HelpRequest 当用户点击"帮助"按钮时要处理的事件

  3、SaveFileDialog的效果如下:

  4、用下例代码可以实现

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.NET的IDE环境中直接完成,为了说明问题,我还是一条条列也来了。当中用到了一个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,"保存文件出错!");}
}
}
}

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章