Cs/PrinterHelper.cs

(开头部分) 15KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.Drawing;
using Printer.Cs.EntityConfig;
using System.Reflection;
using Printer.Cs.PageEntityInfo;

namespace Printer.Cs
{
    class PrinterHelper : System.Drawing.Printing.PrintDocument
    {
        private XmlNode xmldata = null;

        private PageEntity pageentity = null;

        private const string Page_Default_Font_Name = "Arial";
        private const decimal Page_Default_Line_Height = 0.5M;


        #region 打印事件
        protected override void OnPrintPage(System.Drawing.Printing.PrintPageEventArgs e)
        {
            for (int i = 0; i < xmldata.ChildNodes.Count; i++)
            {
                XmlNode row = xmldata.ChildNodes[i];
                string name = row.Name;
                switch (name)
                {
                    case "text":
                        textConfig(row, e);
                        break;
                    case "line":
                        LineEntity lineentity = PageEntityManager<LineEntity>.Getentity(row);
                        decimal s_x = lineentity.S_x + pageentity.Margin_Left;
                        decimal s_y = lineentity.S_y + pageentity.Margin_Top;
                        decimal e_x = lineentity.E_x + pageentity.Margin_Left;
                        decimal e_y = lineentity.E_y + pageentity.Margin_Top;
                        e.Graphics.DrawLine(new Pen(Brushes.Black, lineentity.Width), GetPoint(s_x, s_y), GetPoint(e_x, e_y));
                        break;
                    case "loop":
                        for (int j = 0; j < row.ChildNodes.Count; j++)
                        {
                            XmlNode row_loop = row.ChildNodes[j];
                            string name_loop = row_loop.Name;
                            switch (name_loop)
                            {
                                case "text":
                                    textConfig(row_loop, e);
                                    break;
                                default: break;
                            }
                        }
                        break;
                    default: break;
                }
后面还有 295 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。