2011-11-14 4 views
1

私はC#でアドレス帳WinFormを作成しましたが、これをテキストファイルとして印刷する方法を知りたいのですが、どうすればこのことをやりますか?Windowsフォームを印刷するには

DataGridViewにすべてを表示しましたが、テーブルの情報をテキストとして印刷するのが理想的です。

答えて

0

あなたは何をしたいのか詳細を教えてください。

どのようにテキストファイルとしてフォームを印刷しますか?ラベル、ボタン、その他のコントロールなどのグラフィックをテキストに変換するにはどうすればよいですか?

あなたは、可能であり、あなたが両方の方法でグラフィックレンダリングまたはテキストのみで印刷されたコンテンツのあらゆる側面を制御することができます尋ねる出発点として、ここを見て持っているもの:

Windows Forms Print Support

-1

最も単純な方法はにありますテキストファイルを作成し、その中に値を書き込む。このように:

var textFile = File.CreateText("Address.txt"); 
textFile.WriteLine("Name: Fischermaen"); 
textFile.Close(); 
1

あなたはこのように試みることができる...

[STAThread] 
    static void Main() 
    { 
    Application.Run(new PrintPreviewDialog()); 
    } 

    private void btnOpenFile_Click(object sender, System.EventArgs e) 
    { 
    openFileDialog.InitialDirectory = @"c:\"; 
    openFileDialog.Filter = "Text files (*.txt)|*.txt|" + 
      "All files (*.*)|*.*"; 
    openFileDialog.FilterIndex = 1;    // 1 based index 

    if (openFileDialog.ShowDialog() == DialogResult.OK) 
    { 
     StreamReader reader = new StreamReader(openFileDialog.FileName); 
     try 
     { 
     strFileName = openFileDialog.FileName; 
     txtFile.Text = reader.ReadToEnd(); 
     } 
     catch (Exception ex) 
     { 
     MessageBox.Show(ex.Message); 
     return; 
     } 
     finally 
     { 
     reader.Close(); 
     } 
    } 
    } 

    private void btnSaveFile_Click(object sender, System.EventArgs e) 
    { 
    SaveFileDialog sfd = new SaveFileDialog(); 
    sfd.InitialDirectory = @"c:\"; 
    sfd.Filter = "Text files (*.txt)|*.txt|" + 
      "All files (*.*)|*.*"; 
    sfd.FilterIndex = 1;    // 1 based index 

    if (strFileName != null) 
     sfd.FileName = strFileName; 
    else 
     sfd.FileName = "*.txt"; 

    if (sfd.ShowDialog() == DialogResult.OK) 
    { 
     StreamWriter writer = new StreamWriter(strFileName,false); 
     try 
     { 
     strFileName = sfd.FileName; 
     writer.Write(txtFile.Text); 
     } 
     catch(Exception ex) 
     { 
     MessageBox.Show(ex.Message); 
     return; 
     } 
     finally 
     { 
     writer.Close(); 
     } 
    } 
    } 

//ここで、あなたは何をすべき

private void btnPageSetup_Click(object sender, System.EventArgs e) 
    { 
    PageSetupDialog psd = new PageSetupDialog(); 
    psd.Document = printDocument; 
    psd.ShowDialog(); 
    } 

    private void btnPrint_Click(object sender, System.EventArgs e) 
    { 
    PrintDialog pdlg = new PrintDialog(); 
    pdlg.Document = printDocument; 

    if (pdlg.ShowDialog() == DialogResult.OK) 
    { 
     try 
     { 
     printDocument.Print(); 
     } 
     catch(Exception ex) 
     { 
     MessageBox.Show("Print error: " + ex.Message); 
     } 
    } 
    } 

    private void btnPrintPreview_Click(object sender, System.EventArgs e) 
    { 
    PrintPreviewDialog ppdlg = new PrintPreviewDialog(); 
    ppdlg.Document = printDocument; 
    ppdlg.ShowDialog(); 
    } 

    private void pdPrintPage(object sender, PrintPageEventArgs e) 
    { 
    float linesPerPage = 0; 
    float verticalOffset = 0; 
    float leftMargin = e.MarginBounds.Left; 
    float topMargin = e.MarginBounds.Top; 
    int linesPrinted = 0; 
    String strLine = null; 

    linesPerPage = e.MarginBounds.Height/currentFont.GetHeight(e.Graphics); 

    while (linesPrinted < linesPerPage && 
     ((strLine = stringReader.ReadLine())!= null)) 
    { 
     verticalOffset = topMargin + (linesPrinted * currentFont.GetHeight(e.Graphics)); 
     e.Graphics.DrawString(strLine, currentFont, Brushes.Black, leftMargin, verticalOffset); 
     linesPrinted++; 
    } 

    if (strLine != null) 
     e.HasMorePages = true; 
    else 
     e.HasMorePages = false; 

    } 

    private void pdBeginPrint(object sender, PrintEventArgs e) 
    { 
    stringReader = new StringReader(txtFile.Text); 
    currentFont = txtFile.Font; 
    } 

    private void pdEndPrint(object sender, PrintEventArgs e) 
    { 
    stringReader.Close(); 
    MessageBox.Show("Done printing."); 
    } 
} 
+0

...]ボタンをクリックして、テキストファイルとしてフォームを印刷することができます私はそれが保存機能のtxtFileと言う場所を渡しますか? – JaredH20

関連する問題