Form1.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. using LabelManager2;
  2. using System;
  3. using System.Drawing.Printing;
  4. using System.Windows.Forms;
  5. namespace MaterialPrint
  6. {
  7. public partial class Form1 : Form
  8. {
  9. ApplicationClass lbl;
  10. Document doc;
  11. public Form1()
  12. {
  13. InitializeComponent();
  14. StartPosition = FormStartPosition.CenterScreen;
  15. }
  16. private void Print_Click(object sender, EventArgs e)
  17. {
  18. try
  19. {
  20. //打印的最后一个流水
  21. int LastNum = (int.Parse(Rn.Text) + int.Parse(Num.Text));
  22. //打印的总数
  23. int PrintNum = int.Parse(Num.Text);
  24. for (int i = int.Parse(Rn.Text); i < LastNum; i = i + 8)
  25. {
  26. int temp = i;
  27. for (int j = 0; j < ((LastNum - i) / 8 > 0 ? 8 : (LastNum - i)); j++)
  28. {
  29. switch (doc.Variables.FormVariables.Item(j + 1).Name)
  30. {
  31. case "RN1":
  32. doc.Variables.FormVariables.Item(j + 1).Value = (Prefix.Text + Date.Value.ToString("yyMMdd") + lpad(4, (temp).ToString()));
  33. break;
  34. case "RN2":
  35. doc.Variables.FormVariables.Item(j + 1).Value = (Prefix.Text + Date.Value.ToString("yyMMdd") + lpad(4, (temp + 1).ToString()));
  36. break;
  37. case "RN3":
  38. doc.Variables.FormVariables.Item(j + 1).Value = (Prefix.Text + Date.Value.ToString("yyMMdd") + lpad(4, (temp + 2).ToString()));
  39. break;
  40. case "RN4":
  41. doc.Variables.FormVariables.Item(j + 1).Value = (Prefix.Text + Date.Value.ToString("yyMMdd") + lpad(4, (temp + 3).ToString()));
  42. break;
  43. case "RN5":
  44. doc.Variables.FormVariables.Item(j + 1).Value = (Prefix.Text + Date.Value.ToString("yyMMdd") + lpad(4, (temp + 4).ToString()));
  45. break;
  46. case "RN6":
  47. doc.Variables.FormVariables.Item(j + 1).Value = (Prefix.Text + Date.Value.ToString("yyMMdd") + lpad(4, (temp + 5).ToString()));
  48. break;
  49. case "RN7":
  50. doc.Variables.FormVariables.Item(j + 1).Value = (Prefix.Text + Date.Value.ToString("yyMMdd") + lpad(4, (temp + 6).ToString()));
  51. break;
  52. case "RN8":
  53. doc.Variables.FormVariables.Item(j + 1).Value = (Prefix.Text + Date.Value.ToString("yyMMdd") + lpad(4, (temp + 7).ToString()));
  54. break;
  55. default:
  56. break;
  57. }
  58. }
  59. doc.Printer.SwitchTo(PrinterList.Text);
  60. doc.PrintDocument(1);
  61. }
  62. }
  63. catch (Exception ex)
  64. {
  65. MessageBox.Show(ex.Message);
  66. }
  67. }
  68. private static string lpad(int length, string number)
  69. {
  70. while (number.Length < length)
  71. {
  72. number = "0" + number;
  73. }
  74. number = number.Substring(number.Length - length, length);
  75. return number;
  76. }
  77. private void Form1_Load(object sender, EventArgs e)
  78. {
  79. try
  80. {
  81. lbl = new ApplicationClass();
  82. doc = lbl.Documents.Open(System.Windows.Forms.Application.StartupPath + @"\SN.lab");
  83. PrintDocument print = new PrintDocument();
  84. string sDefault = print.PrinterSettings.PrinterName;//默认打印机名
  85. foreach (string sPrint in PrinterSettings.InstalledPrinters)//获取所有打印机名称
  86. {
  87. PrinterList.Items.Add(sPrint);
  88. if (sPrint == sDefault)
  89. PrinterList.SelectedIndex = PrinterList.Items.IndexOf(sPrint);
  90. }
  91. }
  92. catch (Exception ex)
  93. {
  94. MessageBox.Show(ex.Message);
  95. }
  96. }
  97. private void Form1_FormClosed(object sender, FormClosedEventArgs e)
  98. {
  99. System.Diagnostics.Process[] pro = System.Diagnostics.Process.GetProcessesByName("lppa");
  100. for (int i = 0; i < pro.Length; i++)
  101. {
  102. pro[i].Kill();
  103. }
  104. }
  105. }
  106. }