回覆列表
  • 1 # dadazhu2

    加入兩個控制元件PrintPreviewDiaog和PrintDocument

    給PrintDocument新增事件:

    private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)

    {

    Graphics g = e。

    Graphics;

    using (Font font = new Font("Lucda Console", 36))

    {

    g。DrawString(richTextBox1。

    Text, font, Brushes。Black, 0, 0);//或者是從檔案中讀取txt;

    page;

    e。HasMorePages = (page

    }

    }

    page = 1;

    maxPage = totalPage;//最大有多少頁面就設定多少

    printDocument1。

    DocumentName = doc;

    printPreviewDialog1。Document = printDocument1;

    printPreviewDialog1。ShowDialog();

    //這是我編寫的一個預覽TXT檔案的程式碼

    using System;

    using System。

    Collections。Generic;

    using System。ComponentModel;

    using System。Data;

    using System。Drawing;

    using System。

    Text;

    using System。Windows。Forms;

    using System。IO;

    using System。Drawing。Printing;

    namespace WindowsApplication14

    {

    public partial class Form1 : Form

    {

    public Form1()

    {

    InitializeComponent();

    this。

    printPreviewDialog1 = new PrintPreviewDialog();

    }

    int page;

    int maxPage;

    String path;

    String[] Lines;

    private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)

    {

    Graphics g = e。

    Graphics;

    using (Font font = new Font("Lucda Console", 12))

    {

    int index = 0;

    while ((page * 20 index)

    Length && index != pageRows)

    {

    g。DrawString(Lines[page * 20 index], font, Brushes。Black, 20, 20 30 * index);

    index ;

    }

    page;

    e。

    HasMorePages = (page

    }

    }

    public const int pageRows = 37;

    public const int rowNumber = 42;

    private void button1_Click(object sender, EventArgs e)

    {

    OpenFileDialog open = new OpenFileDialog();

    open。

    Filter = "txt|*。txt";

    if (open。ShowDialog() == DialogResult。OK)

    {

    page = 0;

    path = open。

    FileName;

    StringArray sa = new StringArray(0);

    try

    {

    Lines = File。ReadAllLines(path, Encoding。

    GetEncoding(0, EncoderFallback。ExceptionFallback, DecoderFallback。ExceptionFallback));

    }

    catch { Lines = File。

    ReadAllLines(path, Encoding。UTF8); }

    for (int i = 0; i

    {

    int length = Lines[i]。

    Length;

    for (int j = 0; j

    {

    sa。Add(Lines[i]。Substring(j * rowNumber, rowNumber));

    }

    sa。

    Add(Lines[i]。Substring((length / rowNumber) * rowNumber));

    }

    Lines = sa。Lines;

    maxPage = Lines。

    Length / pageRows 1;

    printDocument1。DocumentName = path;

    printPreviewDialog1。Document = printDocument1;

    printPreviewDialog1。

    ShowDialog();

    }

    else

    {

    return;

    }

    }

    }

    }。

  • 中秋節和大豐收的關聯?
  • 如果女生給你發“好人卡”,你又非常喜歡她,該怎麼辦?