目的
プリンタの印刷可能な範囲を知るために、 印刷可能な範囲に枠線を書く。
GUIでプロジェクトを作成し、メニューに 「印刷」と書かれた項目を用意し、 それをクリックすると印刷可能範囲いっぱいに枠線を書く例。
環境
.NET Framework 4.7.2
VisualStudio 2017
Windowsの設定で、規定のプリンタを物理的な使用可能なプリンタに設定している。
ソースコード
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Drawing.Printing; using System.Drawing; namespace _20190608_PrintTest { public partial class Form1 : Form { private PageSettings pageSetting = new PageSettings(); public Form1() { InitializeComponent(); } private void 印刷ToolStripMenuItem_Click(object sender, EventArgs e) { try { // マージンをとりあえず設定。 pageSetting.Margins = new Margins( 0, 0, 0, 0 ); // 原点を設定する。 printDocument.OriginAtMargins = true; printDocument.DefaultPageSettings = pageSetting; printDialog.Document = printDocument; printDocument.Print(); } catch (Exception ex) { MessageBox.Show(ex.Message, "エラー"); } } private void printDocument_PrintPage(object sender, PrintPageEventArgs e) { // 印刷可能な領域を枠で囲む。 e.Graphics.DrawRectangle( new Pen(Color.Blue, 2), e.PageSettings.PrintableArea.X, e.PageSettings.PrintableArea.Y, e.PageSettings.PrintableArea.Width, e.PageSettings.PrintableArea.Height ); } } }