FrmPrinter.cs 3.8 KB
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PrintLabel_Test
{
    public partial class FrmPrinter : Form
    {
        private Asa.PrintLabel print;
        public FrmPrinter()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            print = new Asa.PrintLabel(Application.StartupPath + "\\Label");
            reloadlabel();
            ConfigHelper.Config.PropertyBind("PrinterIP", textBox1, "Text", "TextChanged");
            //ConfigHelper.Config.PropertyBind<int>("labelindex", comboBox1, "SelectedIndex", "SelectedIndexChanged");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            print.EditLabel();
            reloadlabel();
        }
        void reloadlabel()
        {
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            comboBox1.Items.Clear();
            comboBox1.Items.AddRange(print.GetLabelName());
            if (comboBox1.Items.Count > 0)
                comboBox1.SelectedIndex = 0;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Task.Factory.StartNew(delegate {
                print.LoadLabel(comboBox1.Text);
                Dictionary<string, string> text = new Dictionary<string, string>();
                text.Add("lh", "料号:123456789");
                text.Add("mb", " /T");
                text.Add("jt", "机台:ABCD-10_1  1A");
                text.Add("xb", "线别:Line1");
                text.Add("sj", "时间:" + DateTime.Now.ToString());
                var bmp = print.PrintPreview(text);
                if (!zebraManger.PrintImage(bmp, out string msg))
                {
                    MessageBox.Show(msg);
                }
                bmp.Dispose();
            });
        }
        ZebraPrinterHelper.ZebraManger zebraManger;
        private void button2_Click(object sender, EventArgs e)
        {
            zebraManger = new ZebraPrinterHelper.ZebraManger(textBox1.Text, ZebraPrinterHelper.ConnectionType.Network);
            if (!zebraManger.Connection(out string msg))
            {
                MessageBox.Show(msg);
            }
            else
            {
                label4.Text = "已连接";
                label4.BackColor = Color.Green;
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (zebraManger == null)
                return;
            Task.Run(() =>
            {
                if (zebraManger.IsLabelOnPeeler)
                    this.Invoke((EventHandler)delegate
                    {
                        label3.Text = "剥纸器上检测到有标签";
                    });
                else
                    this.Invoke((EventHandler)delegate
                    {
                        label3.Text = "剥纸器上没有检测到标签";
                    });
            });
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Task.Factory.StartNew(delegate {
                pictureBox1.Image = null;
                print.LoadLabel(comboBox1.Text);
                Dictionary<string, string> text = new Dictionary<string, string>();
                text.Add("lh", "料号:123456789");
                text.Add("mb", " /T");
                text.Add("jt", "机台:ABCD-10_1  1A");
                text.Add("xb", "线别:Line1");
                text.Add("sj", "时间:" + DateTime.Now.ToString());
                var bmp = print.PrintPreview(text);
                pictureBox1.Image = bmp;
            });
        }
    }
}