.NET Windows编程系列(6):对话框编程
摘要:
我们将通过一些实际应用的例子来给大家介绍VisualStudio2005中非常重要的一类控件:对话框,对话框编程也是所有的Windows编程中必然会涉及的一个内容。通过本节能够掌握有关对话框编程的相关知识。
注:本系列节选自MSDN Webcasts上邵志东老师的《 .NET Windows编程系列课程》PPT内容,在我的Blog中整理发表,方便大家一同参考!此系列相关资料请到这里下载。
本节主要内容:
对话框概述
打印对话框
系统对话框扩展
自定义对话框
一、对话框概述
对话框用于与用户交互和检索信息。
对话框是FormBorderStyle枚举属性设置为FixedDialog的窗体。
CommonDialog类:指定用于在屏幕上显示对话框的基类。
ColorDialog、FileDialog、FolderBrowserDialog、FontDialog、PageSetupDialog、PrintDialog
对话框层次结构
CommonDialog →FileDialog (→OpenFileDialog、SaveFileDialog )、ColorDialog、FontDialog、FolderBrowserDialog、PrintDialog
Form →PrintPreviewDialog
模态与非模态对话框
模态对话框就是显示之后,用户不能再切换到其他主窗口进行工作的对话框,而只能在关闭之后,才能使用其他的主窗口。
Show()和ShowDialog()
对话框的使用
1.添加控件
2.设置相应属性
3.在代码中获取相应返回值。例如:
public void ChooseFolder()
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = folderBrowserDialog1.SelectedPath;
}
}
|
对话框
|
需要设置属性
|
返回值
|
|
ColorDialog
|
AllowFullOpen、SolidColorOnly、ShowHelp
|
Color
|
|
FontDialog
|
|
Font、Color
|
|
OpenFileDialog
|
InitialDirectory、Filter 、RestoreDirectory、Multiselect、ShowReadOnly
|
OpenFile()、FileName(s)
|
|
SaveFileDialog
|
OverwritePrompt
|
FileName
|
|
FolderBrowserDialog
|
RootFolder、Description
|
SelectedPath
|
MessageBox的使用
1.语法:
– MessageBox(“提示语句”)
– MessageBox(“提示的语句”,”对话框的标题”)
– MessageBox(“”,””,显示的按钮,图标)
按钮MessageBoxButtons:OK,OKCancel,AbortRetryIgnore,YesNoCancel,YesNo
图标MessageBoxIcon:None, Hand, Stop, Error, Question, Exclaimation, Warning, Asterisk, Information
返回值(DialogResult): None,OK,Cancel,Abort,Retry,Ignore,Yes,No
2.例子:
int nResult = MessageBox.Show(“要产生文件吗?","提问",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);
switch(nResult)
{
case DialogResult.Yes:break;
case DialogResult.No:break;
case DialogResult.Cancel:break;
}
DEMO1:简易写字板实现
二、打印对话框
.NET打印类
位于名称空间System.Drawing.Printing。包含以下类:
PrintDocument:核心类,必须调用它的Print()方法打印
PrintController:控制打印任务流。提供打印事件
PrinterSettings:获取或者设置打印机设置
PrintDialog:确定使用哪个打印机和如何配置PrinterSettings
PageSettings:指定页面大小和边界,由PageSetupDialog类进行配置
PageSetupDialog:进行页面配置
页面设置对话框属性
|
AllowMargins
|
设置是否可以对边距的编辑
|
|
AllowOrientation
|
是否可以使用“方向”单选框
|
|
AllowPaper
|
设置是否可以对纸张大小的编辑
|
|
AllowPrinter
|
设置是否可以使用“打印机”按钮
|
|
Document
|
获取打印机设置的PrintDocument
|
|
MinMargins
|
允许用户选择的最小边距
|
打印对话框属性
|
AllowPrintToFile
|
禁止或使用“打印到文件”复选框
|
|
AllowSelection
|
禁止或使用“选定内容”单选框
|
|
AllowSomePages
|
禁止或使用“页”单选按钮
|
|
Document
|
从中获取打印机设置的PrintDocument
|
|
PrintToFile
|
打印到文件复选框是否选中
|
|
ShowHelp
|
控制是否显示“帮助”按钮
|
|
ShowNetWork
|
控制是否显示“网络”按钮
|
PrintDocument组件
PrintDocument组件用于设置一些属性,这些属性说明在基于Windows 的应用程序中要打印什么内容以及打印文档的能力。可将它与PrintDialog组件一起使用来控制文档打印的各个方面。
PrintPage事件处理程序中添加打印文件的编程逻辑
Print 方法用来打印文档,此方法向打印机发送一个Graphics 对象,该对象包含在PrintPageEventArgs类的Graphics 属性中。
DEMO1:简易写字板实现
三、系统对话框扩展
文件对话框扩展
DllImports:从外部dll文件中导入非托管代码
Control.WndProc方法:用来处理Windows 消息的方法,WndProc方法与Windows WindowProc函数完全对应。
SendMessage:存在于user32.dll中,
FindWindowEx:在窗口列表中寻找与指定条件相符的第一个子窗口
DEMO2:文件对话框
打开文件对话框扩展
创建用户控件
接口和委托
NativeWindow:提供窗口句柄和窗口过程的低级封装。
DEMO3:扩展打开文件对话框
四、自定义对话框
添加窗体,把FormBorderStyle枚举属性设置为FixedDialog。
添加“确定”和“取消”按钮。
对话框返回结果DialogResult.Ok或DialogResult.Cancel.
DEMO4:自定义对话框的实现
本系列文章快速导航:
posted @ 2007-10-23 11:52
李永京 阅读(709)
评论(0) 编辑 收藏 所属分类:
WinForm