社区
C#
帖子详情
c#点击打印预览里面的打印按钮,要弹出打印设置窗口,要怎么做?
sheyanfen
2007-01-16 09:38:00
1、在预览里,点击打印按钮,要弹出打印设置窗口,可以选择打印机及打印哪些页。
2、为什么无论在哪个时候弹出打印设置窗口,里面的打印范围都是全部,页码范围和选定范围不可选,也就是不能选择打印哪些页?
以上两个问题,有什么解决办法吗?
...全文
4816
43
打赏
收藏
c#点击打印预览里面的打印按钮,要弹出打印设置窗口,要怎么做?
1、在预览里,点击打印按钮,要弹出打印设置窗口,可以选择打印机及打印哪些页。 2、为什么无论在哪个时候弹出打印设置窗口,里面的打印范围都是全部,页码范围和选定范围不可选,也就是不能选择打印哪些页? 以上两个问题,有什么解决办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
43 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chujingbin
2010-09-15
打赏
举报
回复
mark
耗子哭死猫
2010-08-20
打赏
举报
回复
接着上面的话题~~~
C#实现web打印效果
我在托单里面输入了数据,点击提交,各个文本框以及其他的值都放入了数据库(sql server)
打印预览的时候。这些取到的数据分别显示在Label(其他控件也可以)上,我想对 这些Label上取到的值进行拖动,然后拼凑,形成一个订单!订单都不同,所以要Lable控件取到的数据任意拖动。
问题一:怎么将数据库的数据分别填写到Label控件上,其他控件也可以。
问题二:怎么将Label控件任意拖动,任意拼凑.
问题三:Label控件拼凑的时候,前提是那什么作为它操作的背景(就是Label拼凑的时候,不是有个操作平台,它的背景是作为模板吗?)
njxb405
2007-01-18
打赏
举报
回复
请问:如何在预览时能显示调整边距的线,跟EXCEL一样直接用鼠标调整页面的边距?
sheyanfen
2007-01-17
打赏
举报
回复
再次感谢hbxtlhx(平民百姓),及大家的热心帮助,谢谢大家,结帐了。
sheyanfen
2007-01-17
打赏
举报
回复
总结一下,希望对大家有帮助。
1、打印和预览用同一个PrintDocument,窗体中设有一个打印按钮
2、点击窗体“打印”按钮,分页预览所有数据
3、在预览里,点击打印,弹出打印设置窗口,供选择打印机及要打印的页码范围
实现方法:
1、设置this.printDialog1.AllowSomePages = true,弹出打印设置窗口时,可输入页面范围
2、窗体打印按钮,初始化变量,弹出打印预览
3、BeginPrint事件,实现预览中点击打印,弹出打印设置窗口,点击确定按钮进行打印,点击取消按钮不打印。
4、PrintPage事件,实现分页预览及打印
5、EndPrint事件
//窗体打印按钮
protected void printButton()
{
printdv = (System.Data.DataView)grid.DataSource;
if( printdv.Count > 0 )
{
//是否显示打印设置窗口,预览时为false,预览后为true
showPrintDialog = false;
//每页记录数
printPagesize = 20;
//打印总页数
printpagecount = (printdv.Count % printPagesize == 0) ? printdv.Count/printPagesize : printdv.Count/printPagesize+1;
//开始打印页码,最后打印页码
this.printDialog1.PrinterSettings.FromPage = 1;
this.printDialog1.PrinterSettings.ToPage = printpagecount;
//开始打印索引号
printIndex = 0;
//打印预览
if( this.printPreviewDialog1.ShowDialog() == DialogResult.OK )
{}
}
else
{
MessageBox.Show("没有要打印的记录!");
}
}
private void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
if( showPrintDialog )
{
//弹出打印设置
if( this.printDialog1.ShowDialog() == DialogResult.OK )
{
//取消当前的打印任务,点击打印时已生成一次打印任务,必须先取消
e.Cancel = true;
//页码范围正确,进行打印
if( this.printDialog1.PrinterSettings.FromPage > 0 && this.printDialog1.PrinterSettings.ToPage >=
this.printDialog1.PrinterSettings.FromPage && this.printDialog1.PrinterSettings.ToPage <= printpagecount )
{
//计算开始打印索引号
printIndex = (this.printDialog1.PrinterSettings.FromPage-1) * this.printPagesize;
//确定打印后,必须将值设为false,否则会再继续打开打印设置
showPrintDialog = false;
//开始打印
this.printDocument1.Print();
}
else
{
MessageBox.Show("输入的页码有误,请重新输入!");
}
}
else
e.Cancel = true;
}
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
//最后打印索引号
lastIndex = this.printDialog1.PrinterSettings.ToPage * printPagesize;
if( lastIndex > printdv.Count )
lastIndex = printdv.Count;
if( printIndex < lastIndex )
{
printIndex = ...;//调用打印函数,并返回下一页打印起始索引号
if( printIndex == lastIndex )
e.HasMorePages = false;
else
e.HasMorePages = true;
}
}
private void printDocument1_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
showPrintDialog = true;
}
「已注销」
2007-01-17
打赏
举报
回复
up
goodpopo
2007-01-17
打赏
举报
回复
学习
swing05
2007-01-17
打赏
举报
回复
haha mark!
l5823448
2007-01-17
打赏
举报
回复
jf
http://www.morok.biz/?u=xueshou
wangruimin
2007-01-17
打赏
举报
回复
up
北京的雾霾天
2007-01-17
打赏
举报
回复
:)
sheyanfen
2007-01-16
打赏
举报
回复
谢谢hbxtlhx(平民百姓) ,基本知道怎么做了,
打印出选择的页,还需要写代码进行控制对不对
非常感谢大家,明天结贴:)
CCjian
2007-01-16
打赏
举报
回复
Mark
貓哥是個傳說
2007-01-16
打赏
举报
回复
果然是強貼,學習受益,收藏~
北京的雾霾天
2007-01-16
打赏
举报
回复
e.Cancel = false???
---
是不是e.Cancel = true才是取消?
北京的雾霾天
2007-01-16
打赏
举报
回复
用如下的属性应该就可以了:
this.printDialog1.PrinterSettings.FromPage;//打印开始的页
this.printDialog1.PrinterSettings.PrintRange;//打印页的范围
this.printDialog1.PrinterSettings.ToPage;//打印的尾页
sheyanfen
2007-01-16
打赏
举报
回复
有在检查,我都设置了e.Cancel = false了,但还是一样。
请问hbxtlhx(平民百姓),怎么取得我输入的页码范围及当前正打印的页码?
北京的雾霾天
2007-01-16
打赏
举报
回复
呵呵,楼主再好好查看一下代码看是什么问题导致这个问题的发生.
不在其位,不知道其难啊.
sheyanfen
2007-01-16
打赏
举报
回复
打印和预览的时候,用的是同一个PrintDocument,就是因为不想另外加按钮来设置打印,所以才麻烦啊。
现在能在预览里弹出打印设置,但出现另外一个问题,
预览后总页数是5页,点击打印按钮,在页面范围里选择从2到2,确定打印,
这时在打印机里会出现两个任务,一个是5页,一个是1页
北京的雾霾天
2007-01-16
打赏
举报
回复
如果你在打印及预览的时候用的是一个PrintDocument的实例的话就设置一次就可以了,你可以单独来设置,而不写在BeginPrint里面.比如在程序里添加一个设置的控钮专门来设置打印设置,而在打印及预览的时候直接打印.
加载更多回复(22)
全球各国汇率、短长期、政策利率数据(1914-2024.3)
根据国际货币基金组织(IMF)等平台的数据,整理了全球各国的兑美元汇率,短期利率、长期利率、政策利率数据,时间范围最新至2024年3月,希望对大家有所帮助 一、数据介绍 数据名称:全球各国汇率、短长期、政策利率数据 数据范围:全球国家 样本数量:76403条 数据年份:1914-2024.3 数据说明:包含兑美元汇率、短期利率、长期利率、政策利率 更新时间:2024年3月 二、指标范围 单位 国家 年份 兑美元汇率-月度均值 兑美元汇率-年度均值 短期利率 长期利率 政策利率
YOLO算法实验室电子仪器电源状态目标检测数据集-60张-标注类别为关机状态-开机状态.zip
YOLOv11目标检测实战项目
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章