【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器
一、打印控件
第一步先把打印对象搞出来。
- 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窗体容器的更多相关文章
- 电子表格控件Spreadsheet 对象方法事件详细介绍
1.ActiveCell:返回代表活动单元格的Range只读对象.2.ActiveSheet:返回代表活动工作表的WorkSheet只读对象.3.ActiveWindow:返回表示当前窗口的Windo ...
- DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
最近刚接触到 DevExpress 13.1 这个皮肤组件, 觉得相当好用 于是开始准备搭建 个小应用的主体框架. 找了好久的就是没找到对应的文章来讲解这一块.. 翻了他们主网站上人家问的,以及API ...
- winform 打印控件
(1)PageSetupDialog1 打印设置窗口 (2)PrintDocument 向打印机输送的对象 事件:PrintPage 对于打印的每一页都执行一次 (3)PrintP ...
- C# Winform 打印控件PrintDocument
由于本着节约的原则,这里的打印都只是保存为.oxps格式的文件. 在我调试时每次打印完成后,窗体都会自己闪退. 在网上并没有相关资料,经过加入断点确认问题在 private void btnPrint ...
- 在DevExpress程序中使用Winform分页控件直接录入数据并保存
一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...
- winform对话框控件、打印控件
对话框控件: ColorDialog:颜色选择对话框,让用户自行选择一种颜色,使用方法类似FontDialog FontDialog:字体选择对话框,让用户自行选择一种字体(也可以选择字体颜色,需要在 ...
- winform 对话框,保存,另存为,还有打印控件
学习的对话框的种类: 1.打开文件对话框(OpenFileDialog) 2.保存文件对话框(SaveFileDialog) 3.字体对话框(FontDialog) 4.颜色对话框(ColorDial ...
- winform 对话框控件,打印控件
1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜 ...
- DevExpress Winform 通用控件打印方法(允许可自定义边距) z
DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有 ...
随机推荐
- Visual Studio 2017 新特性
全新的安装体检 VS2017更好的支持了按需安装的特点,用户可以仅选择需要的功能安装,节省了不少的Disk 最小的安装仅有几百兆,但也支持20多种编程语言的编辑和源码管理 支持创建自定义的离线安装包 ...
- mybatis的学习笔记
前几天学习了mybatis,今天来复习一下它的内容. mybatis是一个基于Java的持久层框架,那就涉及到数据库的操作.首先来提出第一个问题:java有jdbc连接数据库,我们为什么还要使用框架呢 ...
- 【react-router】从Link组件和a标签的区别说起,react-router如何实现导航并优化DOM性能?
(注:参考自官方英文文档V3.X版本) react-router是伴随着react框架出现的路由系统,它也是公认的一种优秀的路由解决方案.在使用react-router时候,我们常常会使用其自带的路径 ...
- Flask入门笔记(一)
一.程序的基本结构 1.1 最简单的Flask程序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #coding=utf-8 # 初始化 from flask import Fla ...
- ConversionService接口
spring已经为我们提供了一个既可以使用GenericConversionService,又可以注入Converter的类,那就是ConversionServiceFactoryBean.该类为我们 ...
- Python_入门
本章内容: 1.Python的种类 2.Python的环境 3.Python入门(解释器.编码.pyc文件.脚步传入参数.变量.输入.流程控制与缩进.while循环) 4.练习题 Python的种类 ...
- codeforces 372E. Drawing Circles is Fun
tags:[圆の反演][乘法原理][尺取法]题解:圆の反演:将过O点的圆,映射成不过O的直线,相切的圆反演出来的直线平行.我们将集合S中的点做反演变换:(x,y)->(x/(x^2+y^2), ...
- vuejs学习笔记(2)--属性,事件绑定,ajax
属性 v-for 类似于angular中的 ng-repeat ,用于重复生成html片段: <ul id="box"> <li v-for="(v, ...
- Android 学习笔记之实时保存数据-现场保护onSaveInstanceState()
数据保存:在软件开发中我们希望保存下各个Activity数据,以实现客户数据的时时保存,达到较好的用户体验. 那么我们需要解决如下问题: 1.什么时候保存? 2.保存哪些数据? 我想保存应用产 ...
- JavaEE开发之Spring中的条件注解组合注解与元注解
上篇博客我们详细的聊了<JavaEE开发之Spring中的多线程编程以及任务定时器详解>,本篇博客我们就来聊聊条件注解@Conditional以及组合条件.条件注解说简单点就是根据特定的条 ...