2017-05-03winform打印控件事件对象和事件数据MDI窗体容器
Posted 疯丶无度
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017-05-03winform打印控件事件对象和事件数据MDI窗体容器相关的知识,希望对你有一定的参考价值。
一、打印控件
第一步先把打印对象搞出来。
- printDocument 打印对象(将要打印的内容放到该对象里,从该对象里取内容打印)
设置他的PrintPage事件(对于要打印的每一页触发一次)
- pageSetupDialog 打印设置对话框
- printPreviewDialog 打印预览对话框
- printPreviewControl 打印预览控件。
只需要把预览对象给他设置上就好
- printDialog 打印对话框
打印界面里面是否禁用页面范围、打印到文件等从PrintDialog的属性中进行设置。
二、事件对象和事件数据
例子:计算器按键显示事件委托。
如果触发这个事件的控件是一个按钮类型,
实例化一个按钮b=触发这个事件的控件转化为按钮。
sender 触发该事件的控件;e 事件数据。
三、MDI窗体容器
在主窗体的属性中将IsMdiContainer属性改为true,就是窗体容器了。
在里面放一个顶部菜单MenuStrip
在窗体容器中放进一个Panel占满全部。
将要打开的子页面做成无边框。
还需要设置成打开唯一窗口,如果打开了就把所有的都隐藏,把要打开的那个显示出来。
1 List<Form> FormList = new List<Form>(); 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就是Form2 16 f2 = f as Form2; 17 } 18 } 19 //如果这个集合中不存在Form2类 20 if (has == false) 21 { 22 //f2这个窗口属于哪个容器=this 23 f2.MdiParent = this; 24 //f2窗口打开初始大小为最大化 25 f2.WindowState = FormWindowState.Maximized; 26 //f2窗口的父级是Panel1 27 f2.Parent = panel1; 28 //打开f2这个窗口 29 f2.Show(); 30 //并将f2添加到集合中去 31 FormList.Add(f2); 32 } 33 //如果已经打开过f2窗口 34 else 35 { 36 //遍历集合中所有窗体 37 foreach (Form f in FormList) 38 { 39 //全部隐藏 40 f.Hide(); 41 } 42 //将f2显示出来 43 f2.Show(); 44 } 45 }
以上是关于2017-05-03winform打印控件事件对象和事件数据MDI窗体容器的主要内容,如果未能解决你的问题,请参考以下文章