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)
(le printpage qui contient la textbox et une image en deuxième page)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 timer d'impression classique)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
(et enfin le timer effaceur qui supprime les données de la textbox, ça doit être surement lui qui cause soucis !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
par avance merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager