VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
PageSetupDialogの[余白]を設定するには、PageSettings.Marginsプロパティを使用します。単位は1/100インチで指定することになっていますが、100(1インチを指定)と入力しても10と表示されてしまいます。(本来であれば25.4mmとなるはず)。これは既知のバグのようです。対策として、単位変換をして余白にセットするようにしてみました。
showamさんからいただいた情報ですが、.NET Framework2.0では PageSetupDialog.EnableMetricプロパティをtrueにすることでこの問題を回避できるそうです。
private void Form1_Load(object sender, System.EventArgs e) { //ドキュメントをページセットアップダイアログにセット pageSetupDialog1.Document = printDocument1; } private void button1_Click(object sender, System.EventArgs e) { //ページの設定を行う pageSetupDialog1.PageSettings.Margins.Left = InchConvUnit(1); //1インチを指定 pageSetupDialog1.PageSettings.Margins.Right = InchConvUnit(2); //2インチを指定 pageSetupDialog1.PageSettings.Margins.Top = mmConvUnit(10); //10mmを指定 pageSetupDialog1.PageSettings.Margins.Bottom = mmConvUnit(15); //15mmを指定 //ダイアログを表示する if ( pageSetupDialog1.ShowDialog() == DialogResult.OK ) { } } //ページ設定用単位変換を行う //引数の単位はインチ private int InchConvUnit(double inch ) { return (int)(inch * 100 * 2.54); } //ページ設定用単位変換を行う //引数の単位はmm private int mmConvUnit(double mm) { return (int)(mm * 10); }