您好,登錄后才能下訂單哦!
本篇內容介紹了“如何利用C#打印分頁中的HasMorePages”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
對于HasMorePages,從字面上理解就是多頁打印,也就是實現C#打印分頁。在很多時候,由于參數設定錯誤,很容易出現new PointF(10.0, 30.0)部分報錯的現象。這里需要謹慎對待。
HasMorePages的作用很容易產生誤解,但也很好理解:當PrintPage函數執行完后,如果HasMorePages==true,則重新執行一遍PrintPage這個函數。只要明白了這一點,打印分頁就很簡單了。
在打印時,可以把打印位置保存下來,以便于第二次執行PrintPage時知道從哪開始打印。例如,下面這段程序用來打印一個DataTable中有所有數據,每頁打印一條:
C#打印分頁代碼
class Print { public partial class NoticePrinter : Form { PrintDialog _printDialog; PrintDocument _printDocument; DataTable _table; int _curRow; //在執行這個函數之前,先要把_curRow初始化為0; //當HasMorePages==true時,這個函數會重復執行,直到HasMorePages==fasle為止; void _printDocument_PrintPage(object sender, PrintPageEventArgs e) { DataRow row; string name; string sex; row = _table.Rows[_curRow]; name = row["xm"].ToString().Trim(); sex = row["xb"].ToString().Trim(); Font font = new Font("宋休", 12); e.Graphics.DrawString(name, font, Brushes.Black, new PointF(10.0, 10.0)); e.Graphics.DrawString(sex, font, Brushes.Black, new PointF(10.0, 30.0)); _curRow++; if (_curPage == _table.Rows.Count) { e.HasMorePages = false; } else { e.HasMorePages = true; } } } }
“如何利用C#打印分頁中的HasMorePages”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。