以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口打印问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40571) |
||||
-- 作者:realredred -- 发布时间:2013/9/23 20:04:00 -- 窗口打印问题 在窗口做了一个打印按键 以快速打印效果來做打印 想设好打印页边距 四边都是 预留5MM Dim Result As DialogResult Result = MessageBox.Show("是否确定打印?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then \'Tables("排产窗_Table1").Print(True,True) \'With Tables("排产窗_Table1").PrintInfo \'.PaperKind = 0 \'纸张类型设为自定义 \'.PaperWidth = 200 \'宽度设为250毫米 \'.PaperHeight = 280 \'高度设为120毫米 \'End With e.Form.Page.LeftMargin = 5 \'设置左边距 e.Form.Page.RightMargin = 5 \'设置右边距 e.Form.Page.TopMargin = 5 \'设置上边距 e.Form.Page.BottomMargin = 5 \'设置下边距 Tables("排产窗_Table1").DirectPrint(True,True) \'打印预览 Else MessageBox.Show("取消打印!") End If 可以打印,但页边设置沒有效果,是不是设置错误呢?请指导一下. |
||||
-- 作者:有点甜 -- 发布时间:2013/9/23 20:11:00 -- 设置窗口的打印和直接打印表,没有关联的。 这句代码是直接打印表的。 Tables("排产窗_Table1").DirectPrint(True,True) \'打印预览 。如果要打印容器/窗口,参考下面的代码。 |
||||
-- 作者:realredred -- 发布时间:2013/9/23 20:46:00 -- 小甜甜 用容器式打印 试过的 但表的标题只有第一页出现,其他页沒有标题 而且打印色采会走色的. Dim Result As DialogResult Result = MessageBox.Show("是否确定打印?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then e.Form.Page.LeftMargin = 5 \'设置左边距 e.Form.Page.RightMargin = 5 \'设置右边距 e.Form.Page.TopMargin = 5 \'设置上边距 e.Form.Page.BottomMargin = 5 \'设置下边距 Dim grp As WinForm.GroupBox = e.Form.Controls("GroupBox1") Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp) doc.Preview() Else MessageBox.Show("取消打印!") End If 第一页 标题完美显示 第二页开始,标题不出现了 |
||||
-- 作者:有点甜 -- 发布时间:2013/9/23 20:51:00 -- 可以对得到的doc对象进行进一步处理的,参考专业报表。 |
||||
-- 作者:realredred -- 发布时间:2013/9/24 0:10:00 -- 找到一个设置表头的方法是这个
Dim doc As New PrintDoc For c As Integer = 0 To tb.Cols.Count - 1
这个可以每页都有表头,但相对,图片不显示,也不能设置页边距 有点头大了.... |
||||
-- 作者:有点甜 -- 发布时间:2013/9/24 22:39:00 -- 上一个例子吧,很简单的。 |
||||
-- 作者:realredred -- 发布时间:2013/9/24 23:54:00 -- 麻烦小甜甜了
|
||||
-- 作者:有点甜 -- 发布时间:2013/9/25 21:54:00 -- 简单的方法,代码不变,同样是打印容器,设置table控件的属性 最小最大打印行数 ,就行了。 Dim Result As DialogResult Result = MessageBox.Show("是否确定打印?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then e.Form.Page.LeftMargin = 5 \'设置左边距 e.Form.Page.RightMargin = 5 \'设置右边距 e.Form.Page.TopMargin = 5 \'设置上边距 e.Form.Page.BottomMargin = 5 \'设置下边距 Dim grp As WinForm.GroupBox = e.Form.Controls("GroupBox1") Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp) doc.Preview() Else MessageBox.Show("取消打印!") End If |
||||
-- 作者:realredred -- 发布时间:2013/9/26 0:05:00 -- 用容器打印,在TABLE设最大打印行数,可以有標题了 但出现了两页空白,而且双行间色沒有了
用快速打印有双行间色,但不懂设默认边距.
上面是容器打印 下面是快速打印 此主题相关图片如下:未命名2 拷贝.jpg [此贴子已经被作者于2013-9-26 0:05:43编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2013/9/26 22:45:00 -- 呃……出现两页空白,应该是你设置的最大最小行数错了,都设置成10看看。 至于双行间色,可以用代码控制某一行的颜色,获取doc对象,对doc进行一下处理就行。是专业报表里面的内容。 楼主,先将就下用吧。
|