版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第17章熟练使用通用窗口
窗口是Windows程序设计中的另一项重要内容,它是应用程序与用户进行交互的一个重要途径,常用于实现应用程序的输入、输出功能。在C#中没有提供为窗口专门设计的类。在VisualStudio2008中,可以通过使用Windows窗体设计器来构造自定义窗口,根据具体需要,可以向窗口中添加诸如Label、Textbox和Button之类的控件。.NETFramework还包含预定义窗口,也称为通用窗口,用户可以自行修改以适应应用程序的需要。本章将主要介绍C#中通用窗口的相关知识。章节内容17.1自定义窗口17.2文件窗口17.3文件夹浏览窗口17.4打印17.5打印预览窗口17.6【字体】窗口和【颜色】窗口17.7MessageBox类17.8小结17.1自定义窗口自定义窗口即由用户根据应用程序的需求自行设计的窗口。通常根据工作模式的不同,自定义窗口分有模式窗口和无模式窗口两种。有模式窗口要求用户在继续运行程序前先响应窗口;无模式窗口不要求用户在继续运行程序前先响应窗口,而是停留在屏幕上随时可用。调用窗体的ShowDialog()方法显示有模式窗口。调用窗体的Show()方法显示无模式窗口。17.2文件窗口文件窗口包括文件打开窗口和文件保存窗口。文件打开窗口由OpenFileDialog类实现,用于浏览本地和网络中任意计算机上的文件夹,并可选择打开一个或多个文件;文件保存窗口由SaveFileDialog类实现,用于浏览文件系统并选择要保存文件的位置。17.2文件窗口usingSystem.IO;privatevoidbutton1_Click(objectsender,EventArgse){SaveFileDialogsfdlg=newSaveFileDialog();sfdlg.Filter="所有文件*.*|*.*|文本文件*.txt|*.txt|C#文件|*.cs|C文件|*.c";sfdlg.InitialDirectory="c:\\user";sfdlg.Title="保存文本文件";sfdlg.FilterIndex=2;//如果用户单击文件保存窗口的【保存】按钮,向文件写
if(sfdlg.ShowDialog()==DialogResult.OK){FileStreamfs=newFileStream(sfdlg.FileName,FileMode.OpenOrCreate,FileAccess.Write);StreamWriterfileStream=newStreamWriter(fs);fileStream.WriteLine(textBox1.Text);fileStream.Close();}}17.3文件夹浏览窗口在进行文件操作时,除了使用文件窗口获得文件路径外,还经常需要获得文件夹的路径,这就需要使用文件夹浏览窗口。在程序中,使用FolderBrowserDialog类的ShowDialog方法显示文件夹浏览窗口。17.4打印privatevoidForm1_Load(objectsender,EventArgse){pdoc.PrintPage+=newSystem.Drawing.Printing.PrintPageEventHandler(pdoc_PrintPage);pd.Document=pdoc;//设置Document属性为需要打印的文档}voidpdoc_PrintPage(objectsender,System.Drawing.Printing.PrintPageEventArgse){e.Graphics.FillRectangle(Brushes.Red,newRectangle(400,400,400,400));}privatevoidbutton1_Click(objectsender,EventArgse){//打印文档
if(pd.ShowDialog()==DialogResult.OK)pd.Document.Print();}privatevoidbutton2_Click(objectsender,EventArgse){Application.Exit();}
17.5打印预览窗口在C#中,可以通过两种方式进行打印预览,即使用PrintPreviewControl控件和PrintPreviewDialog组件。PrintPreviewDialog组件又称打印预览窗口,用于显示文档打印后的外观,该窗口包含打印、放大、显示一页或多页等命令按钮.17.5打印预览窗口usingSystem.Drawing.Printing;privatevoidForm1_Load(objectsender,EventArgse){PrintDocumentmyDocument=newPrintDocument();myDocument.PrintPage+=newPrintPageEventHandler(docToPrint_PrintPage);}privatevoidbutton1_Click(objectsender,EventArgse){printPreviewDialog1.Document=myDocument; //将打印预览的打印文档设置为打印文档
printPreviewDialog1.ShowDialog(); //显示打印预览窗口
}voidmyDocument_PrintPage(objectsender,PrintPageEventArgse){e.Graphics.FillRectangle(Brushes.Red,newRectangle(150,300,500,500));}17.5打印预览窗口打印预览控件(PrintPreviewControl)用于按文档打印时的外观显示文档。此控件没有命令按钮和其他用户界面元素,因此通常只有在自定义打印预览用户界面时才使用它。如果需要标准的用户界面,可以使用PrintPreviewDialog控件.17.5打印预览窗口privatevoidForm1_Load(objectsender,EventArgse){PrintDocumentdocToPrint=newPrintDocument();printPreviewControl1.Document=docToPrint;docToPrint.PrintPage+=newPrintPageEventHandler(docToPrint_PrintPage);}voiddocToPrint_PrintPage(objectsender,PrintPageEventArgse){stringtext="这是打印预览控件的演示!";FontprintFont=newFont("宋体",40,FontStyle.Regular);
e.Graphics.DrawString(text,printFont,Brushes.Red,100,100);e.Graphics.FillRectangle(Brushes.Red,newRectangle(150,300,500,500));}17.6.1【字体】窗口【字体】窗口是标准的Windows窗口,用于设置当前所选文字的字体。默认情况下,在【字体】窗口中显示字体、字形、大小的列表框,以及删除线和下划线效果的复选框。可以通过FontDialog类的ShowDialog()方法显示【字体】窗口,通过FontDialog类的Font属性获取用户选择的字体。其中,Font是一个对象,用于公开字体、字形、字号等.17.6.2【颜色】窗口【颜色】窗口允许用户从调色板选择颜色,也可以将自定义的颜色添加到该调色板上。在程序中,使用ColorDialog类的ShowDialog()方法就可以显示【颜色】窗口。当用户选择颜色或自定义颜色后,它的Color属性就记住了该颜色值。17.7MessageBox类消息框用于向用户显示一些通知消息,可以显示文本、按钮和图标。简单地调用MessageBox类的静态方法Show()即可实现消息框。使用Show()方法可以通过传递参数来确定消息框的标题、消息文本、按钮以及图标。Show()方法的语法形式如下:
PublicstaticDialogResultShow(stringtext,stringcaption,MessageBoxButtonsbuttons,MessageBoxIconicon,MessageDefaultButtondefaultButton)text用于设置在消息框中显示的提示文本;
caption用于设置消息框的标题;
buttons用于设置消息框中显示的按钮,是一个MessageBoxButtons枚举;icon用于设置消息框上出现的图标,是一个MessageIcon枚举;MessageBoxDefaultButton用于设置消息框上的默认按钮。17.7MessageBox类MessageBoxButtons枚举值
枚举值包含的按钮AbortRetryIgnore“中止”、“重试”、和“忽略”按钮OK“确定”按钮OKCancel“确定”和“取消”按钮RetryCancel“重试”和“取消”按钮YesNo“是”和“否”按钮YesN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石家庄市长安区2025-2026学年第二学期六年级语文第四单元测试卷(部编版含答案)
- 阜阳市界首市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 临汾市隰县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 昭通地区鲁甸县2025-2026学年第二学期四年级语文第四单元测试卷(部编版含答案)
- 河池市宜州市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 纪检谈话安全工作制度
- 统计资料保密工作制度
- 综合发证窗口工作制度
- 综治工作制度文件汇编
- 2025 初中写作运用故事反转揭示深刻道理课件
- 2023既有建筑地下空间加固技术规程
- 社会工作综合能力(初级)课件
- 种类繁多的植物(课件)五年级下册科学冀人版
- 输变电工程技术标书【实用文档】doc
- 恋爱合同协议书可
- 人教版七年级下册数学平行线证明题专题训练(含答案)
- 第四章非晶态结构课件
- 公司环保考核细则
- 导管手术室(DSA)医院感染管理SOP
- 风生水起博主的投资周记
- 爱莲说-王崧舟
评论
0/150
提交评论