none
PrintPreviewControl のページ移動 RRS feed

  • 質問

  • お世話になります。PrintPreviewControlとComboBoxを配置したFormに印刷内容を出力しています。テスト的にComboBoxから項目を選択するとSelectedIndexのページに移動するようなコードを書いています(下記)。すると、PrintPreviewControlに出力された内容がクリアされてしまいます。どのようにすれば、ページ移動できるかご教授頂ければ幸いです。

       void cboItem_SelectedIndexChanged(object sender, EventArgs e)
      {
             prv.StartPage = cboItem.SelectedIndex;
             prv.InvalidatePreview();
             prv.Focus();
      }

    2014年2月19日 3:57

すべての返信

  • あれから、いろいろ試してみましたが、PrintPreviewControl.InvalidatePreview()を実行するとPrintDocument_PrintPage()が呼ばれて再度プレビュー画面が生成されているらしきことがわかりました。つまりはページ移動のたびに再描画がかかるようなのです。しかも、再描画された後、表示されるページはStartPageプロパティで指定したページではなく先頭ページになってしまいます。したがって、ページ移動しようと思ったら移動先のページから再生成しなければならないため、そこから前のページにスクロールして戻すこともできません。

    あとマウスホイ-ルでスクロールしようにもそんなプロパティすらないし、これじゃ使い物にならないですね。あと1日調べてダメならあきらめて他の方法を探そうと思います。

    2014年2月20日 1:03