RichTextBoxの内容をA4の部分的範囲に印刷 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 kumasuzumusi  (社会人) 投稿日時 2010/8/6 23:17:45
>> microsoftのサイトにその方法が記載されています。
>どの URL を参考にされたのか、具体的に記述された方が良いですよ。
>内容からすると、下記のページでしょうか?
>http://support.microsoft.com/kb/811401/
そうです。

>上記の URL だと仮定すると、このように書けます。
うわっ。もう!
なるほど、これならうまく行きそうな気がします。
試してみるのは週明けになります。
有難うございます。

>> はじめまして。
>あれ? という事は初投稿なのでしょうか?
そうです。初めてです。
この質問をするのも、ドキドキでした。
回答を見ると、いつも上級者の方の発想に感心してしまいます。eの部分を拡張・定義するとは!
本当に、これで数週間の悩みが解決します。有難うございます。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/8/6 20:45:02
> microsoftのサイトにその方法が記載されています。
どの URL を参考にされたのか、具体的に記述された方が良いですよ。
内容からすると、下記のページでしょうか?
http://support.microsoft.com/kb/811401/

> 私は、上半分はTextBoxの内容をe.Graphics.DrawStringで記載し、
> 下半分にはRichTextBoxの内容を印刷したいのです。
上記の URL だと仮定すると、このように書けます。

「下半分にRichTextBoxの内容を印刷」してみました。
(上半分のTextBox部や、ページ番号の表記などは省略しています)

Private Sub PrintDocument1_PrintPage(ByVal sender As Object, _
    ByVal e As System.Drawing.Printing.PrintPageEventArgs _
    ) Handles PrintDocument1.PrintPage

    Dim mb As New Rectangle( _
        e.MarginBounds.X, _
        e.MarginBounds.Y + e.MarginBounds.Height \ 2, _
        e.MarginBounds.Width, _
        e.MarginBounds.Height \ 2)
    Dim pb As New Rectangle( _
        e.PageBounds.X, _
        e.PageBounds.Y + e.PageBounds.Height \ 2, _
        e.PageBounds.Width, _
        e.PageBounds.Height \ 2)


    Dim eg As New System.Drawing.Printing.PrintPageEventArgs( _
        e.Graphics, mb, pb, e.PageSettings)

    checkPrint = RichTextBoxPrintCtrl1.Print(checkPrint, _
        RichTextBoxPrintCtrl1.TextLength, eg)

    If checkPrint < RichTextBoxPrintCtrl1.TextLength Then
        e.HasMorePages = True
    Else
        e.HasMorePages = False
    End If
End Sub


> TextBoxの内容を印刷する方法では大変参考になりました。
以前に質問された方でしょうか?
(投稿者「kumasuzumusi」で検索しましたが、該当する投稿は見つかりませんでした)

> はじめまして。
あれ? という事は初投稿なのでしょうか?
投稿者 (削除されました)  () 投稿日時 2010/8/6 20:40:33
(削除されました)
投稿者 kumasuzumusi  (社会人) 投稿日時 2010/8/6 19:07:01
 はじめまして。TextBoxの内容を印刷する方法では大変参考になりました。一方、RichTextBoxの内容の印刷方法については、microsoftのサイトにその方法が記載されています。しかし、これを利用するとA4全面に印刷することになり部分範囲を指定して印刷することが出来ないようです。私は、上半分はTextBoxの内容をe.Graphics.DrawStringで記載し、下半分にはRichTextBoxの内容を印刷したいのです。
 これは可能なのでしょうか。ご教授下さい。