C# 实现对话框

来源:互联网 发布:幼儿网络教育前景 编辑:程序博客网 时间:2024/05/17 00:54

对话框中我们常用了以下几种:
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(o b j e c t 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(o b j e c t 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,"保存文件出错!");}
}
}
}
字体对话框(FontDialog)

  在文字处理中,我们常用到字体,现在我们来做一个最常见的字体对话框。

  一、 字体对话框(FontDialog)常用属性

ShowColor 控制是否显示颜色选项 
AllowScriptChange 是否显示字体的字符集 
Font 在对话框显示的字体 
AllowVerticalFonts 是否可选择垂直字体 
Color 在对话框中选择的颜色 
FontMustExist 当字体不存在时是否显示错误 
MaxSize 可选择的最大字号 
MinSize 可选择的最小字号 
ScriptsOnly 显示排除OEM和Symbol字体 
ShowApply 是否显示"应用"按钮 
ShowEffects 是否显示下划线、删除线、字体颜色选项 
ShowHelp 是否显示"帮助"按钮

  二、 字体对话框(FontDialog)的事件

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

  三、 字体对话框(FontDialog)的效果

 

  四、 实现代码

private void fontDialogBTN_Click(o b j e c t sender, System.EventArgs e)
{
FontDialog fontDialog=new FontDialog();
fontDialog.Color=richTextBox1.ForeColor;
fontDialog.AllowScriptChange=true;
fontDialog.ShowColor=true;
if(fontDialog.ShowDialog()!=DialogResult.Cancel)
{
richTextBox1.SelectionFont=fontDialog.Font;//将当前选定的文字改变字体
}
}
上面代码将选定的文本设置为当前FontDialog对话框中的字体。

  颜色对话框(ColorDialog)

  颜色拾取框也是我们常见的对话框之一,下面我们来看看在C#中是如何操作颜色对话框的呢?

  一、 颜色对话框(ColorDialog)的常见属性


AllowFullOpen 禁止和启用"自定义颜色"按钮 
FullOpen 是否最先显示对话框的"自定义颜色"部份 
ShowHelp 是否显示"帮助"按钮 
Color 在对话框中显示的颜色 
AnyColor 显示可选择任何颜色 
CustomColors 是否显示自定义颜色 
SolidColorOnly 是否只能选择纯色

  二、 颜色对话框(ColorDialog)的效果如下:

 


  三、 实现代码见下:

private void colorDialogBTN_Click(o b j e c t sender, System.EventArgs e)
{
ColorDialog colorDialog=new ColorDialog();
colorDialog.AllowFullOpen=true;
colorDialog.FullOpen=true;
colorDialog.ShowHelp=true;
colorDialog.Color=Color.Black;//初始化当前文本

原创粉丝点击