博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器
阅读量:5341 次
发布时间:2019-06-15

本文共 1890 字,大约阅读时间需要 6 分钟。

 

一、打印控件

第一步先把打印对象搞出来。

 - printDocument    打印对象(将要打印的内容放到该对象里,从该对象里取内容打印)

    设置他的PrintPage事件(对于要打印的每一页触发一次)

 

 - pageSetupDialog 打印设置对话框

 

 - printPreviewDialog 打印预览对话框

 

 

  - printPreviewControl  打印预览控件。

只需要把预览对象给他设置上就好

 

 

 - printDialog  打印对话框

打印界面里面是否禁用页面范围、打印到文件等从PrintDialog的属性中进行设置。

 

 

 二、事件对象和事件数据

 

例子:计算器按键显示事件委托。

如果触发这个事件的控件是一个按钮类型,

实例化一个按钮b=触发这个事件的控件转化为按钮。

 

sender 触发该事件的控件;e 事件数据。

 

 三、MDI窗体容器

在主窗体的属性中将IsMdiContainer属性改为true,就是窗体容器了。

在里面放一个顶部菜单MenuStrip

在窗体容器中放进一个Panel占满全部。

将要打开的子页面做成无边框。

 

 

还需要设置成打开唯一窗口,如果打开了就把所有的都隐藏,把要打开的那个显示出来。

1  List
FormList = new List(); 2 3 private void 销售模块ToolStripMenuItem_Click(object sender, EventArgs e) 4 { 5 bool has = false; 6 Form2 f2 = new Form2(); 7 8 //遍历FormList这个集合 9 foreach (Form f in FormList)10 {11 //如果f是Form2类12 if (f is Form2)13 {14 has = true;15 //f2就是Form216 f2 = f as Form2;17 }18 }19 //如果这个集合中不存在Form2类20 if (has == false)21 {22 //f2这个窗口属于哪个容器=this23 f2.MdiParent = this;24 //f2窗口打开初始大小为最大化25 f2.WindowState = FormWindowState.Maximized;26 //f2窗口的父级是Panel127 f2.Parent = panel1;28 //打开f2这个窗口29 f2.Show();30 //并将f2添加到集合中去31 FormList.Add(f2);32 }33 //如果已经打开过f2窗口34 else35 {36 //遍历集合中所有窗体37 foreach (Form f in FormList)38 {39 //全部隐藏40 f.Hide();41 }42 //将f2显示出来43 f2.Show();44 }45 }

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/qq609113043/p/6804439.html

你可能感兴趣的文章
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
YUI3自动加载树实现
查看>>
like tp
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>
kettle导数到user_用于left join_20160928
查看>>
较快的maven的settings.xml文件
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
malloc() & free()
查看>>
Linux 的 date 日期的使用
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
新手村之循环!循环!循环!
查看>>
线程安全问题
查看>>