zoukankan      html  css  js  c++  java
  • 【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内的其它窗体,避免闪屏情况出现.

  • 相关阅读:
    在CentOS 7中搭建Git服务器
    CornerStone的使用
    js中一些常用的基本函数
    Spring包的方法WebUtils.getParametersStartingWith(request,String)
    js打开新窗口的两种方式
    JSONObject和JSONArray
    document.ready()的用法
    class属性多个样式的用法
    java改变图片文件尺寸
    所有异常
  • 原文地址:https://www.cnblogs.com/snow22546/p/6807815.html
Copyright © 2011-2022 走看看