Я делаю программу Wordpad. Я делаю эту функцию, в которой вы нажимаете эту кнопку, и печатает на свой принтер по умолчанию. Я сделал некоторые исследования, и я нашел функциональный код, который печатает на мой принтер:Как печатать с полями
private void buttonPrint_Click(object sender, EventArgs e)
{
string print = "" + textBody.Text;
PrintDocument p = new PrintDocument();
p.PrintPage += delegate(object sender1, PrintPageEventArgs e1)
{
e1.Graphics.DrawString(print, new Font("Times New Roman", 12), new SolidBrush(Color.Black), new RectangleF(0, 0, p.DefaultPageSettings.PrintableArea.Width, p.DefaultPageSettings.PrintableArea.Height));
};
try
{
p.Print();
}
catch (Exception ex)
{
throw new Exception("Exception Occured While Printing", ex);
}
}
Это работает в настоящее время, но мне было интересно, смогу ли я сделать это с полями, которые не имеют в настоящее время. Все, что он делает, это:
<Top of Page>
<Message>
На верхней части, боках (влево, вправо) и снизу нет полей. Как я могу изменить свой код, чтобы иметь поля?
Wordpad использует RichTextBox, (почти) тот же, у вас есть на панели инструментов. Печать его содержимого, чтобы текст отображался точно на бумаге, немного связан, но очень хорошо освещен в этой статье [MSDN] (http://msdn.microsoft.com/en-us/library/ms996492.aspx). –