C#中的对话框

来源:互联网 发布:优先矩阵图和c&e矩阵 编辑:程序博客网 时间:2024/05/16 16:02

常用对话框有:
1、文件对话框(FileDialog) 它又常用到两个:
  打开文件对话框(OpenFileDialog)
  保存文件对话(SaveFileDialog)
2、字体对话框(FontDialog)
3、颜色对话框(ColorDialog)
4、打印预浏对话框(PrintPreviewDialog)
5、页面设置(PrintDialog)
6、打印对话框(PrintDialog)

一、打开文件对话框(OpenFileDialog)
1、 OpenFileDialog控件有以下基本属性
InitialDirectory 对话框的初始目录
Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
FileName 获取或设置一个包含在文件对话框中选定的文件名的字符串。
Title 将显示在对话框标题栏中的字符
AddExtension 是否自动添加默认扩展名
CheckPathExists 在对话框返回之前,检查指定路径是否存在
DefaultExt 默认扩展名
DereferenceLinks 在从对话框返回前是否取消引用快捷方式
ShowHelp 启用"帮助"按钮
ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列
2、 OpenFileDialog控件有以下常用事件
FileOk 当用户点击"打开"或"保存"按钮时要处理的事件
HelpRequest 当用户点击"帮助"按钮时要处理的事件
3、 示例
以下示例创建一个 OpenFileDialog,设置几个属性,并用 ShowDialog 来显示对话框。该示例假定窗体上放置了一个 Button,并在其中添加了 System.IO 命名空间。
protected void button1_Click(object sender, System.EventArgs e)
{ OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c://" ;
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
openFileDialog1.FilterIndex = 2 ;
openFileDialog1.RestoreDirectory = true ;
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
if(openFileDialog1.FileName!= "")
{
MessageBox.Show("你选择了"+openFileDialog1.FileName);
}
}
}

二、保存文件对话框(SaveFileDialog)
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、示例
protected void button1_Click(object sender, System.EventArgs e)
{ Stream myStream ;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
saveFileDialog1.FilterIndex = 2 ;
saveFileDialog1.RestoreDirectory = true ;
if(saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if((myStream = saveFileDialog1.OpenFile()) != null)
{
// Code to write the stream goes here.
myStream.Close();
}
}
}

三、 字体对话框(FontDialog)
1、字体对话框(FontDialog)常用属性
ShowColor 控制是否显示颜色选项
AllowScriptChange 是否显示字体的字符集
Font 在对话框显示的字体
AllowVerticalFonts 是否可选择垂直字体
Color 在对话框中选择的颜色
FontMustExist 当字体不存在时是否显示错误
MaxSize 可选择的最大字号
MinSize 可选择的最小字号
ScriptsOnly 显示排除OEM和Symbol字体
ShowApply 是否显示"应用"按钮
ShowEffects 是否显示下划线、删除线、字体颜色选项
ShowHelp 是否显示"帮助"按钮
2、字体对话框(FontDialog)的事件
Apply 当点击"应用"按钮时要处理的事件 上海上班族
HelpRequest 当点击"帮助"按钮时要处理的事件
3、示例
protected void button1_Click(object sender, System.EventArgs e)
{ fontDialog1.ShowColor = true;
if(fontDialog1.ShowDialog() != DialogResult.Cancel )
{
textBox1.Font = fontDialog1.Font ;
textBox1.ForeColor = fontDialog1.Color;
}
}

四、颜色对话框(ColorDialog)
1、 颜色对话框(ColorDialog)的常见属性
AllowFullOpen 禁止和启用"自定义颜色"按钮
FullOpen 是否最先显示对话框的"自定义颜色"部份
ShowHelp 是否显示"帮助"按钮
Color 在对话框中显示的颜色
AnyColor 显示可选择任何颜色
CustomColors 是否显示自定义颜色
SolidColorOnly 是否只能选择纯色
3、示例
protected void button1_Click(object sender, System.EventArgs e)
{ ColorDialog MyDialog = new ColorDialog();
// Keeps the user from selecting a custom color.
MyDialog.AllowFullOpen = false ;
// Allows the user to get help. (The default is false.)
MyDialog.ShowHelp = true ;
// Sets the initial color select to the current text color,
// so that if the user cancels out, the original color is restored.
MyDialog.Color = textBox1.ForeColor ;
MyDialog.ShowDialog();
textBox1.ForeColor = MyDialog.Color;
}

五、打印预览对话框和打印对话框
1、打印预览对话框(PrintPreviewDialog)属性:
AutoScrollMargin 获取或设置自动滚动边距的大小。
AutoScrollMinSize 获取或设置自动滚动的最小尺寸。
DialogResult 获取或设置窗体的对话框结果。
Document 获取或设置要预览的文档。
HelpButton 获取或设置一个值,该值指示是否应在窗体的标题框中显示“帮助”按钮。
2、打印对话框(PrintDialog)属性:
AllowPrintToFile 禁止或使用"打印到文件"复选框
AllowSelection 禁止或使用"选定内容"单选框
AllowSomePages 禁止或使用"页"单选按钮
Document 从中获取打印机设置的PrintDocument
PrintToFile 打印到文件"复选框是否选中
ShowHelp 控制是否显示"帮助"按钮
ShowNetWork 控制是否显示"网络"按钮
3、示例:
//在用户按下页面预览按钮时激发的事件 上海上班族
private void printPreviewButton_Click(object sender, EventArgs e) {
try {
StreamReader streamToPrint = new StreamReader ("PrintMe.Txt");
try {
TextFilePrintDocument pd = new TextFilePrintDocument(streamToPrint); //假定为默认打印机
if (storedPageSettings != null) {
pd.DefaultPageSettings = storedPageSettings ;
}
PrintPreviewDialog dlg = new PrintPreviewDialog() ;
dlg.Document = pd;
dlg.ShowDialog();
} finally {
streamToPrint.Close() ;
}
} catch(Exception ex) {
MessageBox.Show("试图预览要打印的文件时发生错误 - " + ex.Message);
}
}
//在用户按下打印按钮时激发的事件
private void printButton_Click(object sender, EventArgs e)
{ try {
StreamReader streamToPrint = new StreamReader ("PrintMe.Txt"); 需要请联系我
try {
TextFilePrintDocument pd = new TextFilePrintDocument(streamToPrint);
PrintDialog dlg = new PrintDialog() ;
dlg.Document = pd;
DialogResult result = dlg.ShowDialog();
if (result == DialogResult.OK)
pd.Print();

}
finally {
streamToPrint.Close() ;
}
} catch(Exception ex) {
MessageBox.Show("打印文件时发生错误 - " + ex.Message);
}
}

打开各种对话框示例:
打开文档
OpenFileDialog  openFileDialog=new OpenFileDialog();
openFileDialog.InitialDirectory=”D://”;
openFileDialog.Filter=”文本文件|*.*|c#文件|*.cs|所有文件|*.*”;
openFileDialog.RestoreDirectory=true;
openFileDialog.FilterIndex=1;
if(openFileDialog.ShowDialog()==DialogResult.OK)
{
  string fname=openFileDialog.FileName;
  StreamReader sr=File.OpenText(fname);
  string str;
  while((str=sr.ReadLine())!=null)
{
    this.richTextBox1.Text+=str ;
}
}

保存文档
SaveFileDialog saveFileDialog=new SaveFileDialog();
saveFileDialog.Filter=” 文本文件|*.*|c#文件|*.cs|所有文件|*.*”;
saveFileDialog.FilterIndex=2;
saveFileDialog.RestoreDirectory=true;
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
  string fName=saveFileDialog.FileName;
  StreamWriter sw=File.AppendText(fName);
  sw.Write(this.richTextBox1.Text);
  sw.Write(“dsfadf”);
  sw.Flush();
  sw.Close();
}

字体对话框
FontDialog fontDialog=new FontDialog();
fontDialog.Color=richTextBox1.ForeColor;
fontDialog.AllowScriptChange=true;
fontDialog.ShowColor=true;
if(fontDialog.ShowDialog()!=DialogResult.Cancel)
{
  richTextBox1.SelectionFont=fontDialog.Font;//将当前选定的文字改变字体
}

颜色对话框
ColorDialog colorDialog=new ColorDialog();
colorDialog.AllowFullOpen=true;
colorDialog.FullOpen=true;
colorDialog.ShowHelp=true;
colorDialog.Color=Color.Balck;
colorDialog.ShowDialog();
richTextBox1.SelectionColor=colorDialog.Color;

打印预览对话框
lineReader=new StringReader(richTextBox1.Text);
try
{
  PrintPreviewDialog printPreviewDialog1=new PrintPreviewDialog();
  printPreviewDialog1.Document=printDocument;
  printPreviewDialog1.FormBorderStyle=FormBorderStyle.Fixed3D;
  printPreviewDialog1.ShowDialog(this);
}
catch(Exception  excep)
{
 MessageBox.Show(excep.Message,”打印出错”,MessageBoxButton.OK,MessageBoxIcon.Error);
return;
}

打印对话框
PrintDialog printDialog=new PrintDialog();
printDialog.Document=printDocument;
if(printDialog.ShowDialog()!=DialogReult.Cancel)
{
  try
  {
    printDocument.Print();
}
catch(Exception ex)
{
  MessageBox.Show(ex.Message);
}
}

 

 

 

转自网易博客。。http://icelam.blog.163.com/blog/static/305101082007513105237897/ 枫林雅阁

原创粉丝点击