呼叫BarTender列印標簽,列印完后“BarTender”后臺行程無法退出,我代碼里已經寫了關閉行程,每點一次列印就增加一個后臺行程,多了就保存程式卡死,該怎么解決呢?
代碼:
private BarTender.Application btApp; //Bartender 應用實體
private BarTender.Format btFormat; //Bartender 樣式
#region 標簽列印
private void tsbdy_Click(object sender, EventArgs e)
{
btApp = new BarTender.Application();
try
{
btFormat = btApp.Formats.Open(System.Windows.Forms.Application.StartupPath + @"\1.btw", false, "");
btFormat.PrintSetup.IdenticalCopiesOfLabel = 1;//列印份數
btFormat.PrintSetup.NumberSerializedLabels = 1;//序列標簽數
btFormat.SetNamedSubStringValue("01cd", textBox13.Text.Trim());
//btFormat.SetNamedSubStringValue("02zl", textBox5.Text.Trim());
btFormat.SetNamedSubStringValue("03lx", textBox5.Text.Trim());
btFormat.SetNamedSubStringValue("04gg", textBox6.Text.Trim());
btFormat.SetNamedSubStringValue("05tm", textBox12.Text.Trim());
btFormat.SetNamedSubStringValue("06lx", textBox10.Text.Trim());
btFormat.SetNamedSubStringValue("07ps", textBox8.Text.Trim());
btFormat.PrintOut(true, true);//第二個false設定列印時是否跳出列印屬性
btFormat.Close(BarTender.BtSaveOptions.btSaveChanges); //退出時是否保存標簽
btApp.Quit(BarTender.BtSaveOptions.btSaveChanges);//退出時同步退出bartender行程
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#endregion
uj5u.com熱心網友回復:
試下這樣退出:Process myprocess = new Process();
Process[] KillmyProcess = Process.GetProcessesByName("bartend.exe");
foreach (Process process in KillmyProcess)
{
process.Kill();
}
或者用SDK來列印,不用呼叫exe
uj5u.com熱心網友回復:
怎么呼叫SDK列印,新手,有檔案嗎
uj5u.com熱心網友回復:
參考一下這個uj5u.com熱心網友回復:
有沒有更好的方法,在線等
uj5u.com熱心網友回復:
winform不是有自帶的列印控制元件嗎?PrintDocument控制元件應該可以實作
參考一下
https://www.cnblogs.com/Julyzjc/p/9360463.html
uj5u.com熱心網友回復:
沒用過這個列印控制元件。做成單例呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/43122.html
標籤:C#
上一篇:請教問題
