第一要有一个PrintDocument 我这里起的名字是PDocumentExpress:
导入命名空间:using System.Drawing;
以下是设置打印内容,比如说你要打印的文本框名字叫txtContent,在PrintPage事件中写
///
/// 打印内容设置
///
/// 动作的发起者
/// 动作的参数
private void PDocumentExpress_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
//[ 打印文本框中内容 ]
e.Graphics.DrawString(this.txtContent.Text, new Font("Segoe UI", 15, FontStyle.Bold), Brushes.Black, new Point(20, 200));
注:这里也可以打印图片,线条之类的,具体你看下Graphics对象的其他方法。
}
以下是调用打印:
///
/// 打印
///
/// 动作的发起者
/// 动作的参数
private void btnPrintExpress_Click(object sender, EventArgs e)
{
//[ 执行打印 ]
PDocumentExpress.Print();
}
你也可以设置打印预览:
///
/// 打印预览
///
/// 打印预览的发起者
/// 打印预览动作的参数
private void btnPreview_Click(object sender, EventArgs e)
{
//[ 创建打印预览对象 ]
PrintPreviewDialog PPD = new PrintPreviewDialog();
//[ 设置预览文档 ]
PPD.Document = PDocumentExpress;
//[ 取得预览窗口所在的窗体 ]
Form fParentPPD = PPD.FindForm();
//[ 使预览窗口以最大化的形式弹出 ]
fParentPPD.WindowState = FormWindowState.Maximized;
//[ 呈现打印阅览页面 ]
PPD.ShowDialog();
}
可以剪图出来再打印
打印窗体不行吗?