加入兩個控制元件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;
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;
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 ;
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。
ShowDialog();
else
return;
}。
加入兩個控制元件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;
}
}
}
}。