windows组件打印

1.在Form窗体拖入打印控件,命名设置如下:

  1. pageSetupDialog:     name:pageSetupDialog1       Document设为printDocument控件的实例
  2. printDialog:            name:printDialog2                Document设为printDocument控件的实例
  3. printDocument:        name:pdocOrderDetails         PrintPage事件:pdocOrderDetails_PrintPage
  4. printPreviewDialog:name:printDialog2                Document设为printDocument控件的实例
  5. printPreviewDialog:name:ppdlgOrderDetails        Document设为printDocument控件的实例

打印设置按钮事件:

private   void  btnSetup_Click( object  sender, EventArgs e)
{
    
this .pageSetupDialog1.ShowDialog();
}

 

打印预览按钮事件:

private   void  btnPrintPrev_Click( object  sender, EventArgs e)
{
    
this .printPreviewDialog1.ShowDialog();
}

 

打印按钮事件:

private   void  btnPrint_Click( object  sender, EventArgs e)
{
   
if  ( this .printDialog2.ShowDialog()  ==  DialogResult.OK)
   {
      
this .pdocOrderDetails.Print();
   }
}

 

PrintPage事件:

ExpandedBlockStart.gif 代码

private void pdocOrderDetails_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            //设置字体和和画刷
            Font objFont = new Font("Tahoma", 11, FontStyle.Regular);
            Brush objBrush = Brushes.Black;
            Pen objPen = new Pen(objBrush);
            objPen.Width = 2;

            //向打印预览按钮添加内容
            int nLeft = this.pageSetupDialog1.PageSettings.Margins.Left;
            int nTop = this.pageSetupDialog1.PageSettings.Margins.Top;
            int nWidth = this.pageSetupDialog1.PageSettings.PaperSize.Width - (this.pageSetupDialog1.PageSettings.Margins.Left + this.pageSetupDialog1.PageSettings.Margins.Right);
            int nHeight = this.pageSetupDialog1.PageSettings.PaperSize.Height - (this.pageSetupDialog1.PageSettings.Margins.Top + this.pageSetupDialog1.PageSettings.Margins.Bottom);

            //画出页面有效区域
            //e.Graphics.DrawString("客户姓名", new Font("Garamond", 40, FontStyle.Bold), Brushes.Blue, nLeft + 30, nTop + 10);
            e.Graphics.DrawString("客户姓名", objFont, objBrush, nLeft, nTop + 60);
            e.Graphics.DrawString("客户卡号", objFont, objBrush, nLeft + 70, nTop + 60);
            e.Graphics.DrawString("客户生日", objFont, objBrush, nLeft + 160, nTop + 60);
            e.Graphics.DrawString("客户邮箱", objFont, objBrush, nLeft + 250, nTop + 60);
            e.Graphics.DrawString("手机号码", objFont, objBrush, nLeft + 420, nTop + 60);
            e.Graphics.DrawString("客户地址", objFont, objBrush, nLeft + 540, nTop + 60);

            try
            {
                T_MembersInfoTableAdapter adpMember = new T_MembersInfoTableAdapter();
                DAL.DS_MembersInfo.T_MembersInfoDataTable tbMember = adpMember.GetData();

                int nLine = 1;
                foreach (DAL.DS_MembersInfo.T_MembersInfoRow rowMember in tbMember)
                {
                    e.Graphics.DrawString(rowMember.sName, objFont , objBrush, nLeft, nTop+60+nLine*30);
                    e.Graphics.DrawString(rowMember.sCartId, objFont, objBrush, nLeft + 70, nTop + 60 + nLine * 30);
                    e.Graphics.DrawString(rowMember.dBirthday.ToShortDateString(), objFont, objBrush, nLeft + 160, nTop + 60 + nLine * 30);
                    e.Graphics.DrawString(rowMember.sEmail, objFont, objBrush, nLeft + 250, nTop + 60 + nLine * 30);
                    e.Graphics.DrawString(rowMember.sMobile, objFont, objBrush, nLeft + 420, nTop + 60 + nLine * 30);
                    e.Graphics.DrawString(rowMember.sAddress, objFont, objBrush, nLeft + 540, nTop + 60 + nLine * 30);

                    nLine++;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("程序错误" + ex);
                this.Close();
            }
        }

转载于:https://www.cnblogs.com/caoshuai/archive/2010/07/23/1783636.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值