投稿者 魔界の仮面弁士  (社会人) 投稿日時 2021/10/11 10:21:54
> Moduleを新しく作りそこに記述したいです。
こういう場合は、「モジュールからフォームを呼ぶ」のではなく、
「フォームからモジュールを呼ぶ」ように設計するのが一般的です。


(案1) Form 側から Module のコードを呼ぶ
Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    Module1.YourMethod1( e )
End Sub


(案2) Module 側にイベントハンドラを作っておき、それを PrintPage イベントに割り当てる
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    AddHandler Me.PrintDocument1.PrintPage, AddressOf Module1.PrintDocument1_PrintPage
End Sub


(案3) Module 側に PrintPageEventHandler 型のデリゲート インスタンスを用意し、それを PrintPage イベントに割り当てる
※AddressOf を使わないだけで、基本的には案2 と同じ