アクセス数 累計:000,125,007 昨日:000,000,099 本日:000,000,029
|
|
|
|
【Amazon ランキング:ゲーム - Wii U】
|
|
ここでは印刷ダイアログを表示する方法を紹介します。.NET には PrintDialog というダイアログフォームが用意されていますので今回はこれを使ってみようと思います。 |
|
印刷ダイアログの使い方 |
印刷ダイアログの使い方はいたって簡単です。インスタンスを作成して参照するプリンタドキュメントを設定した後に ShowDialog でダイアログを呼び出すだけです。ダイアログで「OK」ボタンをクリックすると設定された内容が参照で設定してプリンタドキュメントに反映されます。
[VB]
Using dlog As PrintDialog = New PrintDialog
' プリンタオブジェクト設定
dlog.Document = doc
' プリンタダイアログ表示
If dlog.ShowDialog(Me) <> Windows.Forms.DialogResult.OK Then
Return
End If
End Using
[C#]
using (PrintDialog dlog = new PrintDialog())
{
// プリンタオブジェクト設定
dlog.Document = doc;
// プリンタダイアログ表示
if(dlog.ShowDialog(this) != DialogResult.OK)
return;
}
|
VB[Form1.vb] |
Imports System.Drawing.Printing
Public Class Form1
Private Const MAX_PAGE_COUNT As Integer = 5
' ページ番号
Private _pageNumber As Integer = 0
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Using doc As PrintDocument = New PrintDocument
Using dlog As PrintDialog = New PrintDialog
' プリンタオブジェクト設定
dlog.Document = doc
' プリンタダイアログ表示
If dlog.ShowDialog(Me) <> Windows.Forms.DialogResult.OK Then
Return
End If
End Using
' PrintPage イベントハンドル追加
AddHandler doc.PrintPage, AddressOf doc_PrintPage
' ページ番号初期化
_pageNumber = 1
' 印刷実行
doc.Print()
End Using
End Sub
' 印刷イベント処理
Private Sub doc_PrintPage(ByVal sender As Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs)
' 印刷範囲枠を描画
e.Graphics.DrawRectangle(Pens.Black, e.MarginBounds)
' ページ数印刷
e.Graphics.DrawString(String.Format("{0}ページ", _pageNumber), _
New Font("MSゴシック", 20, FontStyle.Bold, GraphicsUnit.Point), _
Brushes.Black, e.MarginBounds.X, e.MarginBounds.Y)
If _pageNumber < MAX_PAGE_COUNT Then
e.HasMorePages = True
Else
e.HasMorePages = False
End If
' ページ番号加算
_pageNumber = _pageNumber + 1
End Sub
End Class
|
|
C#[Form1.cs] |
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Printing;
namespace Print_CS
{
public partial class Form1 : Form
{
private const int MAX_PAGE_COUNT = 5;
// ページ番号
private int _pageNumber = 0;
public Form1()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
using (PrintDocument doc = new PrintDocument())
{
using (PrintDialog dlog = new PrintDialog())
{
// プリンタオブジェクト設定
dlog.Document = doc;
// プリンタダイアログ表示
if(dlog.ShowDialog(this) != DialogResult.OK)
return;
}
// PrintPage イベントハンドル追加
doc.PrintPage += new PrintPageEventHandler(doc_PrintPage);
// ページ番号初期化
_pageNumber = 1;
// 印刷実行
doc.Print();
}
}
// 印刷イベント処理
void doc_PrintPage(object sender, PrintPageEventArgs e)
{
// 印刷範囲枠を描画
e.Graphics.DrawRectangle(Pens.Black, e.MarginBounds);
// ページ数印刷
e.Graphics.DrawString(String.Format("{0}ページ", _pageNumber),
new Font("MS ゴシック", 20, FontStyle.Bold, GraphicsUnit.Point),
Brushes.Black, e.MarginBounds.X, e.MarginBounds.Y);
if (_pageNumber < MAX_PAGE_COUNT)
{
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
}
// ページ番号加算
_pageNumber = _pageNumber + 1;
}
}
}
|
|
|
※このページで紹介しているサンプルコードについて管理者は動作保障をいたしません※
※サンプルコードを使用する場合は、自己責任でお願いします※
|
【楽天 ランキング:パソコン・周辺機器 - パソコンソフト】
|
|
|
|
このサイトはフリーソフトのMerge HTMLで作成されています。
このサイトはリンクフリーです。
|
ページの先頭に戻る |
Copyright© 2010-2015 Jun.Shiozaki All rights reserved. |
|
|
|