public void readdata() { labeldata.Clear(); datatoprint.Clear(); String[] filename = Directory.GetFiles(txtdatafolder.Text, "*.txt", SearchOption.AllDirectories); //SearchOption.AllDirectories 包含子資料夾 if (txtdatafolder.Text == "") { MessageBox.Show("No connect path!!!"); } else { try //防呆,預防目標資料夾內無txt檔 { for (i = 0; i < filename.Length; i++) { StreamReader sa = new StreamReader(filename[i]); labeldata.Add(sa.ReadToEnd()); // list use add to load string sa.Close(); } for (i = 0; i < labeldata.Count; i++) { datatoprint.Add(labeldata[i].Split(';').ToList()); // 加到二維 (';')要 tolist String S = String.Empty; //存放Replace後的字串 String A = zpldata; // 保留原本的字串 for (j = 0; j < datatoprint.Capacity; j++) //讀取zpl版面自動替換 , list.capacity 可以讀出所有成員 { A = A.Replace("ITEM" + j.ToString(), datatoprint[i][j]); S = A; } f2.txtzpl.Text += S + "\r\n"; loginfo(S); if (radlpt.Checked) { ZebraPrint.Print(S); } else if (radnet.Checked) { TCPIP(S); } else if (radusb.Checked) { RawPrinterHelper.SendStringToPrinter(comprint.SelectedItem.ToString(), S); this.SelectNextControl(this.ActiveControl, true, true, true, true); } } } catch (Exception) { } } }