درود
یه مشکل دارم توی ویژوال بیسیک 2010
میخوام وقتی کاربر یه اسم رو توی textbox1 وارد میکنه از اون اسم و چند مورد دیگه پرینت بگیره.

کد زیر رو نوشتم, وقتی دکمه ‍‍‍‍‍پرینت رو میزنم بار اول درست کارمیکنه ولی واسه دفعه دوم این ارور رو میده:
"make sure you have not released a resource before attempting to use it"


Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim PrintFont As New Font("Arial", 18)
Dim LineHeightSingle As Single = PrintFont.GetHeight + 2
Dim HorPrintLocationSingle As Single = e.MarginBounds.Left
Dim VerPrintLocationSingle As Single = e.MarginBounds.Top
Dim S1, S2, S3 As String
Dim us As Integer
Dim es2 As String

e.Graphics.DrawString("Title", New Font("Arial", 24), Brushes.Red, 300, 50)

Try
S2 = RadioButton1.Text
S3 = ""
If RadioButton1.Checked Then
S2 = RadioButton1.Text
ElseIf RadioButton2.Checked Then
S2 = RadioButton2.Text
ElseIf RadioButton3.Checked Then
S2 = RadioButton3.Text
ElseIf RadioButton4.Checked Then
S2 = RadioButton4.Text
End If

us = Integer.Parse(TextBox2.Text)


S1 = "Name: " & TextBox1.Text & Environment.NewLine & "Units Completed: " & us.ToString("n0") & Environment.NewLine & ListBox1.Text & Environment.NewLine & ComboBox1.Text & Environment.NewLine & S2 & Environment.NewLine & S3
e.Graphics.DrawString(S1, PrintFont, Brushes.Black, HorPrintLocationSingle, VerPrintLocationSingle)
VerPrintLocationSingle += LineHeightSingle
Catch
es2 = "Enter a number as unit."
MessageBox.Show(es2, "Error in units", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try


توی دکمه پرینت هم اینو نوشتم:
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.Show()


خودم حدس میزنم باید یه چیزی رو توی loop بزارم که هر دفعه که دکمه پرینت زده میشه و PrintDialog میاد اسم و مشخصات رو نشون بده.