2011-01-26 11 views
2

拡張子が.txtのドキュメントを印刷しようとしていますが、私はコースブックを参照していますが、混乱しています。C#でドキュメントを印刷する

private void Print_Click(object sender, EventArgs e) 
{ 
printDialog1.Document = printDocument1 // there is no object in my program names ad printDocument1 
DialogResult result = printDialog1.ShowDialog(); 
if (result == DialogResult.OK) 
{ 
printDocument1.Print(); 

とより多くのコードが

答えて

2

あなたの例で与えられたたくさんあるのPrintDocumentオブジェクトは、ツールボックスからフォーム上にドラッグされたと仮定されています:ここでは本の中で与えられたソースコードがある、あなたは可能性がありかかわらず、ちょうど自分で簡単にオブジェクトを作成することができます。

 private void Print_Click(object sender, EventArgs e) 
     { 
     PrintDocument printDocument = new PrintDocument(); 
     printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage); 

     PrintDialog printDialog = new PrintDialog 
     { 
      Document = printDocument 
     }; 

     DialogResult result = printDialog.ShowDialog(); 

     if (result == DialogResult.OK) 
     { 
      printDocument.Print(); // Raises PrintPage event 
     } 
    } 

    void printDocument_PrintPage(object sender, PrintPageEventArgs e) 
    { 
     e.Graphics.DrawString(...); 
    } 
+1

PrintPageイベントハンドラを正しく取得するのに役立ちません。 –

+1

いいえ、これは*宿題です。とにかくスタブを追加しました。 – stuartd

1

デザインモードでフォームを開きます。ツールボックスでPrintDocumentコントロールを探します。フォームにドラッグアンドドロップします。これは、フォームクラス "printDocument1"にフィールドを追加します。次に、フォームの下に表示されているprintDocument1イメージをダブルクリックします。それはPrintPageイベントハンドラを追加します。あなたの本のコードを使用してください。

本の説明を確認するには、これが記載されているはずです。私のことではなく、ステップバイステップの手順を使用することをお勧めします。

1

既存の.txtファイルを印刷したい場合は、Windowsはそれを印刷することができます:

using System.Diagnostics; 

Process myProcess = new Process(); 
myProcess.StartInfo.FileName = "C:\\thefile.txt"; // adjust to your needs 
myProcess.StartInfo.Verb = "print"; 
myProcess.Start(); 

Processを参照してください。