2013-05-20 233 views
0

我在C#中開發了一個應用程序,並且我只想在打印機中打印標籤,而不是打印整個表單。 我的四個標籤是lblName, lblAge, lblAdd, lblEmail。我只想要打印這些標籤,而不是表單。有人可以幫我請。謝謝!僅在打印機中打印標籤,而不在C#中打印標籤

無論如何,這是我的代碼打印時,我點擊按鈕。

private void btnPrint_Click(object sender, EventArgs e) 
{   
    PaperSize pp = new PaperSize("MyReport", 718, 359); 
    printForm1.PrinterSettings.DefaultPageSettings.PaperSize = pp; 
    printForm1.PrinterSettings.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0); 
    //printForm1.PrintAction = System.Drawing.Printing.PrintAction.PrintToPreview; 
    printForm1.Print(this, PrintForm.PrintOption.CompatibleModeClientAreaOnly); 

} 
+0

我只是把代碼放在我的按鈕上進行打印,但我有其他代碼,比如從數據庫中調用數據。它就像我將從數據庫中獲取數據,然後打印到身份證。 – ViFer

+0

我收到了答覆!它打印.. 現在我唯一的問題是它爲什麼模糊?或像素化呢? ( 它不像MS Word文檔中打印乾淨。我知道關於水晶報告,但我不能使用它的原因是某種原因。請幫助我的人.. :( – ViFer

回答

1

你可能會發現你在找什麼在這裏,你把內容插入到面板的控制和打印:Print Panel in Windows Form C#

這是我的快速和骯髒的方法。如果您將所有內容都放在白色表格上,並且只想顯示標籤,打印和封閉表單,這將會起作用。以上可能會更好,但!

private void btnPrint_Click(object sender, EventArgs e) 
{   
    PaperSize pp = new PaperSize("MyReport", 718, 359); 
    printForm1.PrinterSettings.DefaultPageSettings.PaperSize = pp; 
    printForm1.PrinterSettings.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0); 

    // Show the labels... 
    lblAge.Visible = true; 
    lblAdd.Visible = true; 
    lblName.Visible = true; 
    lblEmail.Visible = true; 

    // ...Print them visible... 
    printForm1.Print(this, PrintForm.PrintOption.CompatibleModeClientAreaOnly); 

    // ...Then hide again 
    lblAge.Visible = false; 
    lblAdd.Visible = false; 
    lblName.Visible = false; 
    lblEmail.Visible = false; 

} 
+0

這是最好的,但除此之外,你應該使用一些報告模塊,打印具體信息 –

+0

沒有標籤實際上是可見的,但事情是它像我希望表格是透明的,我將打印到身份證,這就是爲什麼:) – ViFer

+0

擴展答案包括你試圖實現的類似事情的鏈接 – Belogix