簡體   English   中英

使用C#在Windows窗體中打印所有項目

[英]Print All the items in a windows form in C#

我有一個獲勝表格,其中有一些label ,一個datagridview和一些textbox 。我想以表格中顯示的確切格式在表格中打印所有項目。 我已經嘗試過使用表格,然后打印出來。 但是以這種方式我不能擁有完整的表單,因為我的表單足夠大,只顯示了表單的一半。我不知道這是不是最好的做法。還有其他方法可以這樣做嗎提到

我的示例代碼:

private void btnPrint_Click(object sender, EventArgs e)
    {
        CaptureScreen();
        printDocument1.Print();
    }

private void CaptureScreen()
    {
        Graphics myGraphics = this.CreateGraphics();
        Size s = this.Size;
        memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
        Graphics memoryGraphics = Graphics.FromImage(memoryImage);
        memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
    }

 private void printDocument1_PrintPage_1(object sender,  PrintPageEventArgs e)
    {
        e.Graphics.DrawImage(memoryImage, 0, 0);
    }

由於我是C#的新手,如果有人通過示例代碼為我提供幫助,那將是非常有用的幫助。

我認為您應該以頁面或文本描述語言(例如PDF或RTF)模擬表單布局。 以編程方式拍攝屏幕快照不僅優雅而且同時粗糙,並且遇到了您只能遇到的局限性。

要考慮的一件事是,是否應該首先序列化數據,例如首先以XML序列化,然后才導出為適合打印或顯示的數據格式,例如PDF或HTML。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM