选择文件对话框:
在命名空间System.Windows.Froms中封装了一个类(Class)"OpenFileDialog",在C#中的选择文件对话框就是继承这个类。下列代码是创建一个此类的对象: OpenFileDialog openFileDialog1 = new OpenFileDialog ( ) ; (1).选择文件对话框一些常用的属性: 选择文件对话框的常用属性如下表: 属性名称作用InitialDirectory设置在对话框中显示的初始化目录Filter设定对话框中过滤文件字符串FilterIndex设定显示的过滤字符串的索引RestoreDirectory布尔型,设定是否重新回到关闭此对话框时候的当前目录FileName设定在对话框中选择的文件名称ShowHelp设定在对话框中是否显示"帮助"按钮Title设定对话框的标题 (2).创建一个功能相对完整的选择文件对话框的对象: //定义一个"打开文件对话框" 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 ) { fName = openFileDialog1.FileName ; showInfo ( ) ; sr = new StreamReader ( fName ) ; } 此代码编译后的运行的界面如下: 图01:C#创建一个选择文件对话框对象三. 选择字体对话框: 在命名空间System.Windows.Froms中封装了一个类(Class)"FontDialog",在C#中的通过继承此类得到字体对话框的。下列代码是创建一个此类的对象: FontDialog fontDialog1 = new FontDialog ( ) ; (1).字体对话框的一些常用的属性: 属性名称作用ShowColor是否在对话框中显示"颜色"选项AllowScriptChange是否允许使用者更改"字符集"选择Font选择后的字体 (2).创建一个功能相对完整的字体对话框的对象: FontDialog fontDialog1 = new FontDialog ( ) ; fontDialog1.ShowColor = true ; fontDialog1.AllowScriptChange = false ; if ( fontDialog1.ShowDialog ( ) != DialogResult.Cancel ) { fnt = fontDialog1.Font ; showInfo ( ) ; } 编译后的运行界面如下: 图02:C#创建一个字体对话框对象四.颜色选择对话框: 在C#中创建一个颜色对话框是通过继承命名空间System.Windows.Froms中类(Class)"ColorDialog"来实现的。下列代码是创建一个此类的对象: ColorDialog ColorDialog1 = new ColorDialog ( ) ; (1). 颜色选择对话框一些常用的属性: 颜色选择对话框的常用属性如下表: 属性名称作用AllowFullOpen设定用户是否可以使用自定义颜色ShowHelp设定在对话框中是否显示"帮助"按钮Color颜色对话框选择的颜色 (2).创建一个功能相对完整的颜色选择对话框的对象: ColorDialog ColorDialog1 = new ColorDialog ( ) ; ColorDialog1.AllowFullOpen = true ; ColorDialog1.FullOpen = true ; //设定此颜色对话框存在"帮助"按钮,缺省是没有的 ColorDialog1.ShowHelp = true ; // 设定此颜色对话框的初始颜色,所以如果在对话框中选择"取消",则此对话框会重新此颜色 ColorDialog1.Color = Color.DarkBlue ; if ( ColorDialog1.ShowDialog ( ) != DialogResult.Cancel ) { clr = ColorDialog1.Color ; showInfo ( ) ; } 此代码编译后的运行的界面如下: 图03:C#创建一个颜色对话框对象五.保存文件对话框: 在C#中创建一个保存文件对话框是通过继承命名空间System.Windows.Froms中类(Class)"SaveFileDialog"来实现的。下列代码是创建一个此类的对象: SaveFileDialog saveFileDialog1 = new SaveFileDialog ( ) ; (1). 保存文件对话框一些常用的属性: 保存文件对话框的常用属性如下表: 属性名称作用InitialDirectory设置在对话框中显示的初始化目录Filter设定对话框中过滤文件字符串FilterIndex设定显示的过滤字符串的索引RestoreDirectory布尔型,设定是否重新回到关闭此对话框时候的当前目录FileName设定在对话框中选择的文件名称ShowHelp设定在对话框中是否显示"帮助"按钮Title设定对话框的标题 (2).创建一个功能相对完整的保存文件对话框的对象: 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 ) { //设定"sr"对象的指针指向读取文件流的开始位置 sr.BaseStream.Seek ( 0 , SeekOrigin.Begin ) ; int i ; //判断"sr"中的指针是否指向文件流的结尾位置 while ( ( i = sr.BaseStream.ReadByte ( ) ) != -1 ) { //不断的往文件中写入字节 myStream.WriteByte ( ( byte ) i ) ; } myStream.Close ( ) ; sr.BaseStream.Seek ( 0 , SeekOrigin.Begin ) ; } } 此代码编译后的运行的界面如下: 图04:C#创建一个保存文件对话框对象六.设置打印机对话框: 在C#中创建一个设置打印机对话框是通过继承命名空间System.Windows.Froms中类(Class)"PrintDialog"来实现的。下列代码是创建一个此类的对象: PrintDialog PrintDialog1 = new PrintDialog ( ) ; (1). 设置打印机对话框一些常用的属性: 设置打印机对话框的常用属性如下表: 属性名称作用AllowSelection设定是否显示"从…到…页"这个打印选项AllowPrintToFile设定在对话框中"打印到文件"选项是否激活Document设定要打印的文档PrintToFile设定是否选中"打印到文件"选项ShowNetwork设定在对话框是否显示"网络"这个按钮ShowHelp设定在对话框中是否显示"帮助"按钮 (2).创建一个功能相对完整的设置打印机对话框的对象: //创建一个设置打印机对话框对象 PrintDialog PrintDialog1 = new PrintDialog ( ) ; //首先要新建一个打印文档, pd = new PrintDocument ( ) ; PrintDialog1.ShowNetwork=false; PrintDialog1.PrintToFile = false ; PrintDialog1.Document = pd ; if ( PrintDialog1.ShowDialog ( ) != DialogResult.Cancel ) { try { pd.Print ( ) ; } catch ( Exception ex ) { MessageBox.Show ( ex.Message ) ; } } 此代码编译后的运行的界面如下: 图05:C#创建一个设置打印机对话框对象七:打印预览对话框: 在C#中创建一个打印预览对话框是通过继承命名空间System.Windows.Froms中类(Class)"PrintPreviewDialog"来实现的。下列代码是创建一个此类的对象: PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog ( ) ; (1). 打印预览对话框一些常用的属性: 设置打印机对话框的常用属性如下表: 属性名称作用FormBorderStyle设定边距类型Document设定要打印的文档 (2).创建一个可以打印一个空文档的打印预览对话框: //创建一个打印文档 pd = new PrintDocument ( ) ; //创建一个打印预览对话框对象 PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog ( ) ; printPreviewDialog1.Document = this.pd ; printPreviewDialog1.FormBorderStyle = FormBorderStyle.Fixed3D ; printPreviewDialog1.ShowDialog ( ) ; 此代码编译后的运行的界面如下: 图06:C#创建一个打印空文档的打印预览对话框对象八.用C#例子编写一个综合六个对话框的例子(dialog.cs): 下图是dialog.cs编译后运行的界面: 图07:用C#编写的组合六个对话框程序的运行界面dialog.cs的源代码如下:
using System ; using System.IO ; using System.Text ; using System.Drawing ; using System.Drawing.Printing ; using System.Collections ; using System.ComponentModel ; using System.Windows.Forms ; using System.Data ; public class Form1 : Form { private Button btnOpenFileDialog ; private Button btnSaveFileDialog ; private Button btnColorDialog ; private Button btnFontDialog ; private Button btnPrintDialog ; private Label lblOutputData ; private Label lblCaption ; private Font fnt ; private Color clr ; private string fName ; private StreamReader sr ; private PrintDocument pd ; private Button btnPrintPreview ; private System.ComponentModel.Container components = null ; public Form1 ( ) { //初始化窗体中的各个组件 InitializeComponent ( ) ; } //清除程序中使用过的资源 protected override void Dispose ( bool disposing ) { if ( disposing ) { if ( components != null ) { components.Dispose ( ) ; } } base.Dispose ( disposing ) ; } private void InitializeComponent ( ) { btnColorDialog = new Button ( ) ; btnFontDialog = new Button ( ) ; lblCaption = new Label ( ) ; btnOpenFileDialog = new Button ( ) ; btnSaveFileDialog = new Button ( ) ; btnPrintPreview = new Button ( ) ; btnPrintDialog = new Button ( ) ; lblOutputData = new Label ( ) ; SuspendLayout ( ) ; btnColorDialog.Location = new Point ( 20 , 102 ) ; btnColorDialog.Name = "btnColorDialog" ; btnColorDialog.Size = new Size ( 140 , 28 ) ; btnColorDialog.TabIndex = 2 ; btnColorDialog.Text = "颜色对话框" ; btnColorDialog.Click += new System.EventHandler ( btnColorDialog_Click ) ; btnFontDialog.Location = new Point ( 20 , 65 ) ; btnFontDialog.Name = "btnFontDialog" ; btnFontDialog.Size = new Size ( 140 , 28 ) ; btnFontDialog.TabIndex = 1 ; btnFontDialog.Text = "字体对话框" ; btnFontDialog.Click += new System.EventHandler ( btnFontDialog_Click ) ; lblCaption.Font = new System.Drawing.Font ("宋体" , 10.5F , System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ( ( System.Byte ) ( 134 ) ) ) ; lblCaption.Location = new Point ( 184 , 8 ) ; lblCaption.Name = "lblCaption" ; lblCaption.Size = new Size ( 246 , 19 ) ; lblCaption.TabIndex = 2 ; lblCaption.Text = "选择对话框后的输出结果:" ; btnOpenFileDialog.Location = new Point ( 20 , 28 ) ; btnOpenFileDialog.Name = "btnOpenFileDialog" ; btnOpenFileDialog.Size = new Size ( 140 , 28 ) ; btnOpenFileDialog.TabIndex = 0 ; btnOpenFileDialog.Text = "打开文件对话框" ; btnOpenFileDialog.Click += new System.EventHandler ( btnOpenFileDialog_Click ) ; btnSaveFileDialog.Location = new Point ( 20 , 213 ) ; btnSaveFileDialog.Name = "btnSaveFileDialog" ; btnSaveFileDialog.Size = new Size ( 140 , 28 ) ; btnSaveFileDialog.TabIndex = 5 ; btnSaveFileDialog.Text = "保存文件对话框" ; btnSaveFileDialog.Click += new System.EventHandler ( btnSaveFileDialog_Click ) ; btnPrintPreview.Location = new Point ( 20 , 139 ) ; btnPrintPreview.Name = "btnPrintPreview" ; btnPrintPreview.Size = new Size ( 140 , 28 ) ; btnPrintPreview.TabIndex = 3 ; btnPrintPreview.Text = "打印预览对话框" ; btnPrintPreview.Click += new System.EventHandler ( btnPrintPreview_Click ) ; btnPrintDialog.Location = new Point ( 20 , 176 ) ; btnPrintDialog.Name = "btnPrintDialog" ; btnPrintDialog.Size = new Size ( 140 , 28 ) ; btnPrintDialog.TabIndex = 4 ; btnPrintDialog.Text = "打印对话框" ; btnPrintDialog.Click += new System.EventHandler ( btnPrintDialog_Click ) ; lblOutputData.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D ; lblOutputData.Location = new Point ( 176 , 28 ) ; lblOutputData.Name = "lblOutputData" ; lblOutputData.Size = new Size ( 280 , 213 ) ; lblOutputData.TabIndex = 1 ; this.AutoScaleBaseSize = new Size ( 6 , 14 ) ; this.ClientSize = new Size ( 456 , 264 ) ; this.Controls.Add ( lblCaption ) ; this.Controls.Add ( btnPrintPreview ) ; this.Controls.Add ( lblOutputData ) ; this.Controls.Add ( btnSaveFileDialog ) ; this.Controls.Add ( btnOpenFileDialog ) ; this.Controls.Add ( btnColorDialog ) ; this.Controls.Add ( btnFontDialog ) ; this.Controls.Add ( btnPrintDialog ) ; this.MaximizeBox = false ; this.MinimizeBox = false ; this.Name = "Form1" ; this.Text = "全面掌握C#中的对话框组件!" ; this.ResumeLayout ( false ) ; } static void Main ( ) { Application.Run ( new Form1 ( ) ) ; } private void btnOpenFileDialog_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 ) { fName = openFileDialog1.FileName ; showInfo ( ) ; sr = new StreamReader ( fName ) ; } } //另存文件对话框 private void btnSaveFileDialog_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 ) { //设定"sr"对象的指针指向读取文件流的开始位置 sr.BaseStream.Seek ( 0 , SeekOrigin.Begin ) ; int i ; //判断"sr"中的指针是否指向文件流的结尾位置 while ( ( i = sr.BaseStream.ReadByte ( ) ) != -1 ) { //不断的往文件中写入字节 myStream.WriteByte ( ( byte ) i ) ; } myStream.Close ( ) ; sr.BaseStream.Seek ( 0 , SeekOrigin.Begin ) ; } } } //颜色选择对话框 private void btnColorDialog_Click ( object sender , System.EventArgs e ) { ColorDialog ColorDialog1 = new ColorDialog ( ) ; ColorDialog1.AllowFullOpen = true ; ColorDialog1.FullOpen = true ; //设定此颜色对话框存在"帮助"按钮,缺省是没有的 ColorDialog1.ShowHelp = true ; // 设定此颜色对话框的初始颜色,所以如果在对话框中选择"取消",则此对话框会重新此颜色 ColorDialog1.Color = Color.DarkBlue ; if ( ColorDialog1.ShowDialog ( ) != DialogResult.Cancel ) { clr = ColorDialog1.Color ; showInfo ( ) ; } } //打开字体对话框 private void btnFontDialog_Click ( object sender , System.EventArgs e ) { FontDialog fontDialog1 = new FontDialog ( ) ; fontDialog1.ShowColor = true ; fontDialog1.AllowScriptChange = true ; fontDialog1.ShowColor = false ; if ( fontDialog1.ShowDialog ( ) != DialogResult.Cancel ) { fnt = fontDialog1.Font ; showInfo ( ) ; } } //打印机对话框 private void btnPrintDialog_Click ( object sender , System.EventArgs e ) { PrintDialog PrintDialog1 = new PrintDialog ( ) ; pd = new PrintDocument ( ) ; PrintDialog1.PrintToFile = false ; PrintDialog1.Document = pd ; if ( PrintDialog1.ShowDialog ( ) != DialogResult.Cancel ) { try { pd.Print ( ) ; } catch ( Exception ex ) { MessageBox.Show ( ex.Message ) ; } } } //打印预览对话框 private void btnPrintPreview_Click ( object sender , System.EventArgs e ) { //创建一个新的文档 pd = new PrintDocument ( ) ; //创建一个打印预览对话框 PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog ( ) ; printPreviewDialog1.Document = this.pd ; printPreviewDialog1.FormBorderStyle = FormBorderStyle.Fixed3D ; printPreviewDialog1.ShowDialog ( ) ; } //显示各个对话框选择后的信息 private void showInfo ( ) { lblOutputData.Text = "选择文件: " + fName.ToString ( ) + "\n\r\n\r" ; lblOutputData.Text = lblOutputData.Text + "选择颜色: " + clr.ToString ( ) + "\n\r\n\r" ; lblOutputData.Text = lblOutputData.Text + "选择字体:" + fnt + "\n\r\n\r" ; }