impression d'une textbox 1/2 fois
Bonsoir,
actuellement je reçois des données sur le port série, qui s'affiche dans une textbox, celle ci à la réception déclenche un timer qui au bout de 10 secondes lance l'impression de ma textbox,
50 secondes après l'arrivé des donnée la textbox ce vide pour laissé place à de nouvelles données,
le soucis est le suivant, l'impression fonctionne seulement pour la première réception, pour les autres, les feuilles sont blanches ! je ne comprend pas ! est ce qu'un lecteur aurez une idée ?
voici mon code:
(les timer déclencher au changement de la textbox)
Code:
1 2 3 4 5 6
| Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Timer_effaceur.Interval = 50000 'lance le vidage de la textbox aprés 50s
Timer_effaceur.Start()
Timer_print.Interval = 10000 'lance l'impression après 10 secondes
Timer_print.Start()
End Sub |
(le printpage qui contient la textbox et une image en deuxième page)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Private Sub Pd_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
Dim itineraire As Image = Image.FromFile("C:\Users\laurent\Documents\test_files\image_map.gif")
Static PageEnCours As Integer
PageEnCours += 1
Select Case PageEnCours
Case 1
e.Graphics.DrawString("Fiche de renseignement", New Font("Times New Roman", 14, FontStyle.Bold), Brushes.Black, 218, 85)
e.Graphics.DrawString(TextBox1.Text, New Font("Times New Roman", 10, FontStyle.Bold), Brushes.Black, 125, 145)
e.HasMorePages = True
Case 2
e.Graphics.DrawImage(itineraire, 180, 570, 560, 402)
e.HasMorePages = False
End Select |
(le timer d'impression classique)
Code:
1 2 3 4
| Private Sub Timer_print_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer11.Tick
pd.Print() 'imprime la fiche
Timer_print.Stop()
End Sub |
(et enfin le timer effaceur qui supprime les données de la textbox, ça doit être surement lui qui cause soucis !)
Code:
1 2 3 4
| Private Sub Timer_effaceur_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer_effaceur.Tick
TextBox1.Text = ""
Timer_effaceur.Stop()
End Sub |
par avance merci pour votre aide