解决方案 »
- |ZYCWPF| Interaction.Triggers如何实现Style.DataTrigger的数据自动回退功能呢?有示例 谢谢
- C#用vs2010做的WINFORM(带SQL2008数据库)在其他电脑运行不了
- 一个算法题搞不懂[推荐]
- C# WINFORM 进度条
- 关于C# WinForm 标题栏
- ~~~~千古疑难 HttpWebRequest 获取中文网页乱码
- ■■■■我想用vs.net写个WEB浏览器,有这方面的控件吗?在浏览器是通过什么技术把每一个用户的IP地址发给网站的?
- 怎么写js通过判断下拉列表里的值来验证文本框的内容是否合法
- 如何将一个字符串中指明的结构进行实例化
- How to get the textheight of a textbox?
- c# 如何将16进制转到2进制?谢谢
- Interface 接口设计问题
private int currentPage = 1;
//Button1的点击事件处理器
private void Button1_Click(object sender, System.EventArgs e)
{
//PrintDocument对象作成
System.Drawing.Printing.PrintDocument pd =
new System.Drawing.Printing.PrintDocument();
//追加PrintPage事件处理器
pd.PrintPage +=
new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);
//PrintDialog类作成
PrintDialog pdlg = new PrintDialog();
//指定PrintDocument
pdlg.Document = pd;
//设定为可以指定页
pdlg.AllowSomePages = true;
//指定页指定的最小值和最大值
pdlg.PrinterSettings.MinimumPage = 1;
pdlg.PrinterSettings.MaximumPage = 10;
//指定开始打印和最终页
pdlg.PrinterSettings.FromPage = pdlg.PrinterSettings.MinimumPage;
pdlg.PrinterSettings.ToPage = pdlg.PrinterSettings.MaximumPage;
//表示打印的选择窗口
if (pdlg.ShowDialog() == DialogResult.OK)
{
//点击OK时打印
pd.Print();
}
}
private void pd_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
if (e.PageSettings.PrinterSettings.PrintRange ==
System.Drawing.Printing.PrintRange.SomePages &&
currentPage == 1)
{
currentPage = e.PageSettings.PrinterSettings.FromPage;
}
//描绘使用currentPage指定的页
Font f = new Font("Arial", 100);
e.Graphics.DrawString(currentPage.ToString(),
f, Brushes.Black, 0, 0);
f.Dispose();
//检测下面是否还有页
if (currentPage >= 10 ||
(e.PageSettings.PrinterSettings.PrintRange ==
System.Drawing.Printing.PrintRange.SomePages &&
e.PageSettings.PrinterSettings.ToPage <= currentPage))
{
//没有页时通知
e.HasMorePages = false;
currentPage = 1;
}
else
{
e.HasMorePages = true;
currentPage++;
}
}
它需要用户单击选择指定页码,它默认是全部
我想要的是指定页码范围为选中