• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
丶蘇Da同
博客园    首页    新随笔    联系   管理    订阅  订阅

【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器

一、打印控件

1.PrintDocument  打印对象(将要打印的内容放到该对象里,从该对象里取内容打印)

设置PrintDocument 事件中的 PrintPage 属性[对于要打印的每一页发生一次]

2.PageSetupDialog  打印设置对话框

3.PrintPreviewDialog  打印预览对话框

ps:PrintPreviewControl   打印预览控件

这个是在窗体中可以直接直接展示的打印预览状态的控件,只能展示,不能设置.

右侧的文档不包含任何页就是PrintPreviewControl控件,他在窗体中需要有位置才能展示

4.PrintDialog   打印对话框

打印界面中打印页面范围、打印到文件等从PrintDialog的属性中进行设置

 

二、事件对象和事件数据

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

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

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

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

 

三、MDI窗体容器

效果和容器TabelControl差不多,区别就是一个是用来存放控件,一个来存放Form窗体

选中主窗体,在窗口样式属性中,将IsMdiContainer属性改为true,把这个窗体变成了MDI窗体

常用MDI窗体容器制作

在里面放一个顶部菜单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         }

ps:用MDI制作安装程序步骤的时候,先让MDI打开自身的一个Panel1,上面放一个Button,点击按钮后,Button隐藏,然后在打开MDI内的其它窗体,避免闪屏情况出现.

 

posted @ 2017-05-04 16:21  丶蘇Da同  阅读(286)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3