一、打印控件

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

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

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

- pageSetupDialog 打印设置对话框

- printPreviewDialog 打印预览对话框

- printPreviewControl  打印预览控件。

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

- printDialog  打印对话框

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

 二、事件对象和事件数据

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

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

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

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

 三、MDI窗体容器

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

在里面放一个顶部菜单MenuStrip

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

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

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

  List<Form> FormList = new List<Form>();

         private void 销售模块ToolStripMenuItem_Click(object sender, EventArgs e)
{
bool has = false;
Form2 f2 = new Form2(); //遍历FormList这个集合
foreach (Form f in FormList)
{
//如果f是Form2类
if (f is Form2)
{
has = true;
//f2就是Form2
f2 = f as Form2;
}
}
//如果这个集合中不存在Form2类
if (has == false)
{
//f2这个窗口属于哪个容器=this
f2.MdiParent = this;
//f2窗口打开初始大小为最大化
f2.WindowState = FormWindowState.Maximized;
//f2窗口的父级是Panel1
f2.Parent = panel1;
//打开f2这个窗口
f2.Show();
//并将f2添加到集合中去
FormList.Add(f2);
}
//如果已经打开过f2窗口
else
{
//遍历集合中所有窗体
foreach (Form f in FormList)
{
//全部隐藏
f.Hide();
}
//将f2显示出来
f2.Show();
}
}

【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器的更多相关文章

  1. 电子表格控件Spreadsheet 对象方法事件详细介绍

    1.ActiveCell:返回代表活动单元格的Range只读对象.2.ActiveSheet:返回代表活动工作表的WorkSheet只读对象.3.ActiveWindow:返回表示当前窗口的Windo ...

  2. DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案

    最近刚接触到 DevExpress 13.1 这个皮肤组件, 觉得相当好用 于是开始准备搭建 个小应用的主体框架. 找了好久的就是没找到对应的文章来讲解这一块.. 翻了他们主网站上人家问的,以及API ...

  3. winform 打印控件

    (1)PageSetupDialog1    打印设置窗口  (2)PrintDocument     向打印机输送的对象 事件:PrintPage   对于打印的每一页都执行一次 (3)PrintP ...

  4. C# Winform 打印控件PrintDocument

    由于本着节约的原则,这里的打印都只是保存为.oxps格式的文件. 在我调试时每次打印完成后,窗体都会自己闪退. 在网上并没有相关资料,经过加入断点确认问题在 private void btnPrint ...

  5. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  6. winform对话框控件、打印控件

    对话框控件: ColorDialog:颜色选择对话框,让用户自行选择一种颜色,使用方法类似FontDialog FontDialog:字体选择对话框,让用户自行选择一种字体(也可以选择字体颜色,需要在 ...

  7. winform 对话框,保存,另存为,还有打印控件

    学习的对话框的种类: 1.打开文件对话框(OpenFileDialog) 2.保存文件对话框(SaveFileDialog) 3.字体对话框(FontDialog) 4.颜色对话框(ColorDial ...

  8. winform 对话框控件,打印控件

    1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜 ...

  9. DevExpress Winform 通用控件打印方法(允许可自定义边距) z

    DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有 ...

随机推荐

  1. C++ Primer 5 CH4 表达式

    4.1 基础 函数调用也是一种特殊的运算符,它对运算对象的数量没有限制. C++ 的表达式要么是左值,要么是右值.左值可以位于赋值语句的左边,右值则不可以. 当一个对象被用作右值的时候,用的是对象的值 ...

  2. C#传递委托给C或C++库报错__对XXX类型的已垃圾回收委托进行了回调

    出现的原因: 因为你传给C或C++的委托是局部的.可能传过去之后就被垃圾回收了,再次调用就会异常. 想办法做成全局的就好 public void Play(string url) { _bassStr ...

  3. SpringMVC REST 风格请求介绍及简单实践

    简介 REST 即 Representational State Transfer.(资源)表现层状态转化.是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以正得到越来越 ...

  4. 无图无定位新版css步骤条兼容ie6+

    <ul class="ui-step list-unstyled"> <li class="step-item"><b class ...

  5. Windows:将cmd命令行添加到右键中方法

    win10中将命令行cmd添加到右键的方法 Windows cmd 右键 win10 命令行 最近在学python,所以会用到很多库文件,但是有的库文件需要下载whl文件再通过cmd进行安装,所以每次 ...

  6. 使用gem安装jekyll错误记录

    准备在windows7上安装Jekyll, 安装好了Ruby和RubyDevKit之后,准备使用: $ gem install jekyll 安装jekyll,但是返回错误: ERROR: While ...

  7. IOS-验证码的实现和封装(可以直接调用)

    最近对OC中的图像比较感兴趣.随手搞得一个类似验证码的demo.直接贴代码了. 小demo中的VerificationCodeView是继承自UIView的,所以需要用到的时候,可以直接定义一个UIV ...

  8. 网页html结构搭建方法总结

    在div+css布局中,一般都这样来整体构架的: <div id="header"></div><div id="center"& ...

  9. shiro使用教程

    一.shiro是什么 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.不仅可以在Web项目中使用,在普通的项目中也是可以使用的 二.shiro可以做什 ...

  10. adobe edge animate 和 adobe animate cc 有啥区别?

    经常有人问这两款软件的区别,每次都要打字好烦,特此总结发帖如下: 一.首先各自软件介绍 ①adobe edge animate 是adobe公司早期推出的一款网页互动工具.通过HTML+CSS+Jav ...