IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

impression d'une textbox 1/2 fois


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut 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 : 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 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
    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 : 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
    (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_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

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Static PageEnCours As Integer
    PageEnCours += 1

    static est à éviter
    il déclare une variable de membre mais qui persiste
    du coup lors du 3ème appel tu passes à 3 et le select case ne fait rien
    déclare plutot la variable sur la classe (Private PageEnCours ...)
    puis remet là à 0 sur le textchanged
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Saisie dans tableau plusieurs fois meme valeur d'une textbox
    Par marsutof dans le forum Général VBA
    Réponses: 1
    Dernier message: 05/03/2015, 00h14
  2. [Débutant] Impression d'une textbox
    Par propi dans le forum VB.NET
    Réponses: 11
    Dernier message: 03/12/2014, 14h04
  3. [Débutant] Activer un timer "x" fois depuis une textbox.
    Par dragonmouff123 dans le forum VB.NET
    Réponses: 5
    Dernier message: 25/05/2013, 12h14
  4. Impression d'une TextBox
    Par BernardBouree dans le forum VB.NET
    Réponses: 7
    Dernier message: 03/01/2013, 18h53
  5. Impression dans une MDI Application
    Par Andry dans le forum Composants VCL
    Réponses: 8
    Dernier message: 19/12/2002, 08h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo