.NET Windows编程系列(6):对话框编程

.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

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-11-17 11:06 编辑过


相关链接: