首页 > 代码库 > 【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器

【2017-05-03】winform打印控件、事件对象和事件数据、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-03】winform打印控件、事件对象和事件数据、MDI窗体容器