C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: コモンダイアログの印刷設定で、用紙を横に設定


(過去ログ 72 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■42159 / inTopicNo.1)  コモンダイアログの印刷設定で、用紙を横に設定
  
□投稿者/ RT (170回)-(2009/10/08(Thu) 19:27:07)

分類:[C#] 

こんにちは。RTです。
たびたびお世話になっております。
C#でプログラミングを行っております。

質問なのですが、コモンダイアログの印刷設定で、用紙を横にして印刷する設定したいのですが、出来ません。
被写体は、リッチテキストボックスに表示したテキストデータです。
プログラムは、http://jeanne.wankuma.com/tips/csharp/dialog/print.htmlに載っているプログラムを使っています。

どなたかアドバイスよろしくお願いします。

引用返信 編集キー/
■42162 / inTopicNo.2)  Re[1]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ ごう (59回)-(2009/10/08(Thu) 19:53:18)
> 質問なのですが、コモンダイアログの印刷設定で、用紙を横にして印刷する設定したいのですが、出来ません。

PageSetupDialogクラスを使います。
PageSetupDialogクラスのプロパティPageSettings.Landscapeを true または false にすることで向きが変えられます

参考:
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.pagesetupdialog.pagesettings%28VS.80%29.aspx (C# 見本つき)
http://social.msdn.microsoft.com/Forums/ja-JP/vbexpressja/thread/f5eeae61-807e-4ac9-91f7-0a5c2bea3789 (VBですが)


引用返信 編集キー/
■42165 / inTopicNo.3)  Re[2]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ RT (171回)-(2009/10/08(Thu) 20:10:01)
No42162 (ごう さん) に返信
>>質問なのですが、コモンダイアログの印刷設定で、用紙を横にして印刷する設定したいのですが、出来ません。
> 
> PageSetupDialogクラスを使います。
> PageSetupDialogクラスのプロパティPageSettings.Landscapeを true または false にすることで向きが変えられます 

PageSetupDialogって、普通のダイアログとは違うページ設定のダイアログが出ますよね?

普通のダイアログの設定画面で、用紙設定を横に設定したいのですが、どうすれば良いでしょうか?

引用返信 編集キー/
■42168 / inTopicNo.4)  Re[3]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ ごう (60回)-(2009/10/08(Thu) 21:17:44)

> 普通のダイアログの設定画面で、用紙設定を横に設定したいのですが、どうすれば良いでしょうか?

普通のダイアログって、PrintDialogのことですよね。
以下のURLでPrintDialog見てもらえばわかると思いますが、PrintDialogには用紙設定(縦、横)ありませんよ?
http://dobon.net/vb/dotnet/graphics/printdialog.html 

もしくは、PrintDocument.DefaultPageSettings プロパティの中にも、Landscape を決めるメソッドがあるから、それを使うとか。
http://msdn.microsoft.com/ja-jp/library/system.drawing.printing.printdocument.defaultpagesettings%28VS.80%29.aspx
引用返信 編集キー/
■42170 / inTopicNo.5)  Re[4]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ RT (172回)-(2009/10/08(Thu) 23:05:47)
No42168 (ごう さん) に返信
>
>>普通のダイアログの設定画面で、用紙設定を横に設定したいのですが、どうすれば良いでしょうか?
>
> 普通のダイアログって、PrintDialogのことですよね。
> 以下のURLでPrintDialog見てもらえばわかると思いますが、PrintDialogには用紙設定(縦、横)ありませんよ?
> http://dobon.net/vb/dotnet/graphics/printdialog.html 
>
僕が書いたプログラムのダイアログには、メイン画面→詳細設定押下で出てくる画面に設定する所があります。
http://jeanne.wankuma.com/tips/csharp/dialog/print.html

そこで、設定してもうまく動作しないので、困っています。

//PrintDocument.DefaultPageSettings プロパティ

デフォルトの設定を操作するのではなく、選択した設定を反映させたいのです。

引用返信 編集キー/
■42212 / inTopicNo.6)  Re[5]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ RT (173回)-(2009/10/09(Fri) 19:50:23)
実際のプログラムは、次のようなものです。

// PrintDialog の新しいインスタンスを生成する (デザイナから追加している場合は必要ない)
PrintDialog printDialog1 = new PrintDialog();

// PrinterSettings の新しいインスタンスを生成する (必須)
printDialog1.PrinterSettings = new System.Drawing.Printing.PrinterSettings();

// 印刷範囲で指定可能な最大ページ数を設定する
printDialog1.PrinterSettings.MaximumPage = short.MaxValue;

// 印刷範囲で指定可能な最小ページ数を設定する
printDialog1.PrinterSettings.MinimumPage = 1;

// 印刷開始ページを設定する
printDialog1.PrinterSettings.FromPage = 1;

// 印刷終了ページを設定する
printDialog1.PrinterSettings.ToPage = 1;

// [ファイルへ出力] チェックボックスをオンにする (初期値 false)
printDialog1.PrintToFile = true;

// 印刷範囲のページ指定を有効にする (初期値 false)
printDialog1.AllowSelection = true;

// 印刷範囲のページ指定を有効にする (初期値 false)
printDialog1.AllowSomePages = true;

// 部数を設定する
printDialog1.PrinterSettings.Copies = 1;

// [ヘルプ] ボタンを表示する (初期値 false)
printDialog1.ShowHelp = true;

// ダイアログを表示し、戻り値が [OK] の場合は印刷の処理を実行する
if (printDialog1.ShowDialog() == DialogResult.OK)
{
//printDocument1.DefaultPageSettings.Landscape = true;
//印刷する文字列と位置を設定する
printingText = richTextBox1.Text;
printingPosition = 0;
//印刷に使うフォントを指定する
printFont = new Font("MS Pゴシック", 12);
//PrintDocumentオブジェクトの作成
System.Drawing.Printing.PrintDocument pd =
new System.Drawing.Printing.PrintDocument();
//PrintPageイベントハンドラの追加
pd.PrintPage +=
new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);
//印刷を開始する
pd.Print();

}

// 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照)
printDialog1.Dispose();

どこかしら問題点はあるでしょうか?
引用返信 編集キー/
■42214 / inTopicNo.7)  Re[6]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ ヴァン (13回)-(2009/10/09(Fri) 20:04:16)
こんにちは。

printDialog1.Document = printDocument1;
if (printDialog1.ShowDialog() == DialogResult.OK)

ダイアログにドキュメントを設定する必要があるのではないですか?


引用返信 編集キー/
■42216 / inTopicNo.8)  Re[7]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ RT (174回)-(2009/10/09(Fri) 20:29:28)
No42214 (ヴァン さん) に返信
> こんにちは。
>
> printDialog1.Document = printDocument1;
> if (printDialog1.ShowDialog() == DialogResult.OK)
>
> ダイアログにドキュメントを設定する必要があるのではないですか?
>
>

最初ドキュメントを設定して印刷しておりましたが、それでも、うまく設定する事が出来ませんでした。

上のプログラムは、折り返し設定をするために、コードを書いています。
引用返信 編集キー/
■42218 / inTopicNo.9)  Re[8]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ ヴァン (14回)-(2009/10/09(Fri) 20:57:07)
No42216 (RT さん) に返信
> ■No42214 (ヴァン さん) に返信
>>こんにちは。
>>
>>printDialog1.Document = printDocument1;
>>if (printDialog1.ShowDialog() == DialogResult.OK)
>>
>>ダイアログにドキュメントを設定する必要があるのではないですか?
>>
>>
>
> 最初ドキュメントを設定して印刷しておりましたが、それでも、うまく設定する事が出来ませんでした。
>
> 上のプログラムは、折り返し設定をするために、コードを書いています。

初めから横にならないコードを書いておいて、「何処が悪いのですか?」って聞いたの?

>デフォルトの設定を操作するのではなく、選択した設定を反映させたいのです。

この「デフォルトの設定」とは何を言ってるの?

printDocument1.DefaultPageSettings.Landscape = true;

これで横になるんじゃないの。

引用返信 編集キー/
■42219 / inTopicNo.10)  Re[9]: コモンダイアログの印刷設定で、用紙を横に設定
□投稿者/ RT (175回)-(2009/10/09(Fri) 21:31:09)
No42218 (ヴァン さん) に返信

> printDocument1.DefaultPageSettings.Landscape = true;
>
> これで横になるんじゃないの。
>

//PrintPageイベントハンドラの追加
pd.PrintPage +=
new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);

pd.DefaultPageSettings.Landscape = true;

で、ダイアログの、縦、横の設定で印刷する事が出来ました。
ごうさん、ヴァンさんありがとうございました。またアドバイスよろしくお願いします。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -