2013-08-31 6 views
1

Я хочу распечатать содержимое простого текстового поля. После нажатия кнопки «Печать» отображается «PrintDialog».Печать содержимого текстового поля в C#

Я нашел много информации, но все они используют RichTextBoxes. Есть ли простой способ сделать что-то вроде this?

+1

Это должно быть очень просто сделать, глядя на эту ссылку, все они делают это получить текст из RichTextBox, так что я не вижу, где Textboxes разные – Sayse

+0

попробуйте заменить «Richtextbox» на «текстовое поле» – Rohit

+0

@Kyle да, но как создаются «OnBeginPrint» и «OnPrintPage»? – mafap

ответ

6

Эта печать содержимое textbox именованные textbox1

PrintDocument document = new PrintDocument(); 
    PrintDialog dialog = new PrintDialog(); 
    public Form1() 
    { 
     InitializeComponent(); 
     document.PrintPage += new PrintPageEventHandler(document_PrintPage); 
    } 

    void document_PrintPage(object sender, PrintPageEventArgs e) 
    { 
     e.Graphics.DrawString(textBox1.Text, new Font("Arial", 20, FontStyle.Regular), Brushes.Black, 20, 20); 
    } 

    private void btnPrint_Click(object sender, EventArgs e) 
    { 
     dialog.Document = document; 
     if (dialog.ShowDialog() == DialogResult.OK) 
     { 
      document.Print(); 
     } 
    } 
+1

Ваше решение похоже на [этот] (http://stackoverflow.com/a/15616680/2208810), и оба они работали :) – mafap

4

Взгляните на это: http://answers.yahoo.com/question/index?qid=20081230163003AA4xOaT, и это: How to print the contents of a TextBox Кроме того, есть учебник по печати в C#: http://www.dreamincode.net/forums/topic/44330-printing-in-c%23/

Если после этого вы все еще не можете распечатать содержимое TextBox из какой-то причины, вы всегда может создать новый объект RichTextBox и назначить текст TextBox в его текст. Затем продолжите печать с помощью RichTextBox.

Смежные вопросы