E-Label二次開發與項目集成 |
更新時間:2021-02-09 11:10:59 閱讀次數 137266 |
E-Label采用模塊化設計,可以很方便的進行二次開發。在最小的改動情況下將條碼標簽打印模塊集成管理系統中(僅限于使用.NET開發的系統)。二次開發主要分為以下二個步驟。 一. 模板設計 1. 運行E-label.exe創建一個標簽模板,在標簽模板設計器上添加中添加如下圖所示內容。 2. 雙擊條碼起始值,設置條碼數據源(條碼結束值同樣采用相同的設置方式),設置完成后保存模板文件(123.yncx),這樣一個標簽模板就設計完成了。 3. 如果需要在程序運行過程中動態的設置條碼或是文本的值,需要將數據源類型設置為"文本"。 二. 創建二次開發項目 1.創建一個二次開發項目(可參照二次開發環境搭建),并設計如下較所示窗體,將123.yncx復制到Bin\Debug目錄下 。 2. 在Load事件中加載設置的模板文件并初始化測試數據及打印機和相應button的事件
DataTable dataTable = new DataTable(); private void Form1_Load(object sender, EventArgs e) { //加載模板文件 designer1.Open(Application.StartupPath + "\\123.yncx"); designer1.CanSelectItem = true;
//手動產生數據源 dataTable.Columns.Add("StartBarcode"); dataTable.Columns.Add("EndBarcode"); DataRow dataRow = dataTable.NewRow(); dataRow[0] = "S0011"; dataRow[1] = "E0011"; dataTable.Rows.Add(dataRow); dataRow = dataTable.NewRow(); dataRow[0] = "S0012"; dataRow[1] = "E0012"; dataTable.Rows.Add(dataRow); dataRow = dataTable.NewRow(); dataRow[0] = "S0013"; dataRow[1] = "E0013"; dataTable.Rows.Add(dataRow); dataGridView1.DataSource = dataTable; //初始化打印機列表 for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++) { cbPrintName.Items.Add(PrinterSettings.InstalledPrinters[i]); } cbPrintName.SelectedIndex = 0; }
private void btnPrintPreview_Click(object sender, EventArgs e) { designer1.DataSource = dataTable; designer1.LabelConfigInstance.PrinterName = cbPrintName.SelectedItem.ToString(); designer1.IsCustomDataSource = true; //指定打印功能--如果不指定則預覽打印功能無法使用 //designer1.OnPrintViewPrint += delegate //{ // btnPrint_Click(null, null); //}; designer1.PrintView(); }
private void btnPrint_Click(object sender, EventArgs e) { designer1.DataSource = dataTable;//指定數據源 //指定打印機 designer1.LabelConfigInstance.PrinterName = cbPrintName.SelectedItem.ToString(); designer1.IsCustomDataSource = true;//是否用指令的數據源打印 //是否使用打印機的驅動進行打印(默認為false,如果打印有問題可以設置true) designer1.UseDriverPrintLabel = false; designer1.PrintPage(2);//打印2張標簽 }
private void btnGet_Click(object sender, EventArgs e) { txtValue.Text = designer1.GetObjectValue(txtKey.Text); }
private void btnSet_Click(object sender, EventArgs e) { //動態設置值的對像必須是文本 designer1.SetObjectValue(txtKey.Text, txtValue.Text); designer1.Refresh();
} 4. 運行檢查結果【點擊下載完整Demo項目】
|