将FORM转化成一个图片,并转存到系统中的某个页面下面,并实现打印方法

public partial class pimFormEPMProjectsummary : Form

private void button1_Click(object sender, EventArgs e)

        {
           
                Doupdate();
                updated.Visible = false;
                printed.Visible = false;
                cancled.Visible = false;
                button1.Visible = false;
                Bitmap bit = new Bitmap(this.Width, this.Height);//实例化一个和窗体一样大的bitmap
                Graphics g = Graphics.FromImage(bit);
                g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
                g.CopyFromScreen(this.Left, this.Top, 0, 0, new Size(this.Width, this.Height));//保存整个窗体为图片
                //string filename = "新产品评审单.png" + DateTime.Now.ToString("yyyyMMdd");
                string filename = "项目总结表.png";
                //filename = @"C:\My Documents\" + filename + ".png";
                bit.Save(filename);
                pimDBUtility dbUtil = new pimDBUtility();
                string strSQL = string.Format(@"select TaskID from pimEPMTaskItem where ProjectID='{0}' AND Name LIKE '%量产许可证%'", strObjId);
                string strtaskid = dbUtil.GetSelectedItemData(strSQL);


                string strDocMasterId, strDocItemId, strLinkId = "";
                strSQL = string.Format(@"select c.DocMasterID from pimWorkspaceFolderData a left join pimDocItem b on a.ObjId = b.DocItemID
                  left join pimDocMaster c on b.DocCode = c.DocCode where a.FolderID = '{0}' and c.DocName like '%项目总结表%'", strtaskid);
                strDocMasterId = dbUtil.GetSelectedItemData(strSQL);


                strSQL = string.Format(@"select b.DocItemID from pimWorkspaceFolderData a left join pimDocItem b on a.ObjId = b.DocItemID
                  left join pimDocMaster c on b.DocCode = c.DocCode where a.FolderID = '{0}' and c.DocName like '%项目总结表%'", strtaskid);
                strDocItemId = dbUtil.GetSelectedItemData(strSQL);


                strSQL = string.Format(@"select LinkID from pimDocItemFileLink where DocItemID='{0}'", strDocItemId);
                strLinkId = dbUtil.GetSelectedItemData(strSQL);


                if (!(strDocMasterId == "" || strDocMasterId == "-1"))
                {
                    pimDocMasterHelper.DeleteDocMasterByID(strDocMasterId);
                }
                 //移去记录
                if (!(strDocItemId == "" || strDocItemId == "-1"))
                {
                    RemoveFolderLink(strDocItemId, strLinkId);
                }
                string selectedDocType = "DOCOTHER";
                if (this.AddDocFileItemByDrop(filename, selectedDocType))
                {
                    MessageBox.Show("转存成功");
                }
                printed.Visible = true;
                cancled.Visible = true;
                button1.Visible = true;
                updated.Visible = true;
           

        }


    //实现打印方法

private void DoOpenFile_Action()
        {
            try
            {
                //获取文件项编号
                pimDBUtility dbUtil = new pimDBUtility();
                string strSQL = string.Format(@"select TaskID from pimEPMTaskItem where ProjectID='{0}' AND Name LIKE '%量产许可证%'", strObjId);
                string strtaskid = dbUtil.GetSelectedItemData(strSQL);


                strSQL = string.Format(@"select b.DocItemID from pimWorkspaceFolderData a left join pimDocItem b on a.ObjId = b.DocItemID
                  left join pimDocMaster c on b.DocCode = c.DocCode where a.FolderID = '{0}' and c.DocName like '%项目总结表%'", strtaskid);
                string strDocItemId = dbUtil.GetSelectedItemData(strSQL);


                strSQL = string.Format(@"select FileItemID from pimDocItemFileLink where DocItemID='{0}'", strDocItemId);
                string strFileId = "-1";
                strFileId = dbUtil.GetSelectedItemData(strSQL);


                strSQL = string.Format(@"select RawFileName from pimFileItem where FileItemID='{0}'", strFileId);
                string strSQL1 = string.Format(@"select FileName from pimFileItem where FileItemID='{0}'", strFileId);
                if (!(strFileId == "" || strFileId == "-1"))
                {
                    //pimFileItemWinOperator.OpenFile(this, strFileId);
                    pimFileItemWinOperator.PrintFile(this, strFileId);
                }
                else
                {
                    MessageBox.Show("需要先点击转存任务输出文挡");
                }
                string strFileName = dbUtil.GetSelectedItemData(strSQL);
                if (strFileName == "") strFileName = dbUtil.GetSelectedItemData(strSQL1);


                string strActionPrompt = string.Format("打开设计文档:{0}", strFileName);


                RegistObjItemActionLog(strFileId, "PrintFileItem", strActionPrompt);
            }
            catch (System.Exception ex)
            {
                pimExceptionManager.Publish(ex);


                MessageBox.Show(this, ex.Message, "出错提示");
            }
        }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值