FrmLabel.cs 4.2 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 CodeSplice
{
    public partial class FrmLabel : Asa.Theme.FlatForm
    {
        private bool LabelOrField;

        public FrmLabel()
        {
            InitializeComponent();
        }

        private void FrmLabel_Load(object sender, EventArgs e)
        {
            Common.Label.EditControl(PicLabel);
            Common.Label.Selected += Label_Selected;
            Common.Label.LabelSize += Label_LabelSize;
            LstLabel.ItemAdd(Common.Label.LabelName);
            flatLabel7.Text = Common.Config.LabelName;
        }

        private void FrmLabel_FormClosing(object sender, FormClosingEventArgs e)
        {
            Common.Label.RemoveControl();
            Common.Label.Selected -= Label_Selected;
            Common.Label.LabelSize -= Label_LabelSize;
        }

        private void Label_LabelSize(SizeF size)
        {
            NumX.Value = 0;
            NumY.Value = 0;
            NumW.Value = size.Width;
            NumH.Value = size.Height;
            TxtType.Text = "";
            TxtPrefix.Text = "";
            LabelOrField = true;
        }

        private void Label_Selected(PrintLabelField field)
        {
            NumX.Value = field.Rect_mm.X;
            NumY.Value = field.Rect_mm.Y;
            NumW.Value = field.Rect_mm.Width;
            NumH.Value = field.Rect_mm.Height;
            TxtType.Text = field.Type;
            TxtPrefix.Text = field.Prefix;
            LabelOrField = false;
        }

        private void LstLabel_SelectedIndexChanged(object sender)
        {
            if (LstLabel.SelectedIndex == -1) return;
            Common.Label.FindIndex(LstLabel.SelectedIndex);
        }

        private void BtnNewLabel_Click(object sender, EventArgs e)
        {
            string[] s = DialogLang["NewLabel"].Split(',');
            string ss = Asa.Theme.InputBox.Show(s[0], s[1], s[2]);
            if (ss.Length == 0) return;
            Common.Label.Create(ss);
            LstLabel.ItemAdd(ss);
            LstLabel.SelectedLast();
        }

        private void BtnDelLabel_Click(object sender, EventArgs e)
        {
            if (LstLabel.SelectedIndex == -1) return;
            string[] s = DialogLang["DelLabel"].Split(',');
            DialogResult dr = Asa.Theme.MessageBox.Show(s[1], string.Format(s[0], LstLabel.Text), MessageBoxButtons.YesNo);
            if (dr == DialogResult.No) return;

            Common.Label.Delete();
            LstLabel.ItemRemove();
            if (LstLabel.Count > 0)
                LstLabel.SelectedIndex = 0;
        }

        private void BtnFieldFont_Click(object sender, EventArgs e)
        {
            Common.Label.FieldFont();
        }

        private void BtnAddField_Click(object sender, EventArgs e)
        {
            Common.Label.FieldAdd();
        }

        private void BtnDelField_Click(object sender, EventArgs e)
        {
            Common.Label.FieldDel();
        }

        private void NumXYWH_ValueChanged(object sender)
        {
            if (LabelOrField)
                Common.Label.LabelResize(NumW.Value, NumH.Value);
            else
                Common.Label.FieldResize(NumX.Value, NumY.Value, NumW.Value, NumH.Value);
        }

        private void TxtType_TextChanged(object sender, EventArgs e)
        {
            Common.Label.FieldType(TxtType.Text);
        }

        private void TxtPrefix_TextChanged(object sender, EventArgs e)
        {
            Common.Label.FieldPrefix(TxtPrefix.Text);
        }

        private void BtnPrintTest_Click(object sender, EventArgs e)
        {
            Common.Label.PrintTest();
        }

        private void BtnSave_Click(object sender, EventArgs e)
        {
            Common.Label.Save();
            Asa.Theme.MessageBox.Show("", "保存成功", MessageBoxButtons.OK);
        }

        private void BtnDefaultLabel_Click(object sender, EventArgs e)
        {
            if (LstLabel.SelectedIndex == -1) return;
            Common.Config.LabelName = LstLabel.Text;
            flatLabel7.Text = LstLabel.Text;
        }


    }
}