投稿者 魔界の仮面弁士  (社会人) 投稿日時 2021/10/20 20:39:08
フォームを「閉じる」のであれば、Hide ではなく Close では無いでしょうか。
Hide だと見えなくなるだけで、メモリ上には残留したままになりますので。

それと、Load 時に Print して、印刷終了時に Hide や Close するのなら、
そもそも Form1 そのものが不要で、直接 PrintDocument を操作するだけで良いのでは…?


> Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
>  PrintDocument1.Print()
> End Sub

Load イベントの End Sub を通過する前に Me.Hide() されてしまい、
その後で End Sub に到達して、そこで表示状態になってしまっているのでは。

たとえば、
 'PrintDocument1.Print()
 BeginInvoke(New Action(AddressOf PrintDocument1.Print))
のようにして、End Sub 通過後に Print されるようにするとか、あるいは
Shown イベントで Print するようにしてみるのはどうでしょうか。