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

Windows Forms Discussion :

[VB.NET] Comment faire descendre l'ascenseur ?


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 165
    Points : 193
    Points
    193
    Par défaut [VB.NET] Comment faire descendre l'ascenseur ?
    Bonjour,

    j'ai un problème très simple:

    j'ai une textbox multiligne qui se remplit au fur et à mesure de texte, du coup un scrollbar verticale se crée,

    et j'aimerai que la derniere ligne s'affiche, or par défaut dans une texbox la scrolbar ne bouge pas ( ascenseur reste en haut pour le curseur ), c'est toujours la premiere ligne qui s'affiche,

    comme ma texbox me sert d'affichage pour le résultat j'aimerai qu'automatiquement la derniere ligne s'affiche ( scrolbar tout en bas au niveau du curseur ) mais je ne trouve pas la methode pour le controle scrollbar de la textbox, quelqu'un sait comment faire ?

    Merci

  2. #2
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Et en augmentant la taille de ta textbox ?

  3. #3
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Citation Envoyé par KibitO
    Et en augmentant la taille de ta textbox ?
    Le probleme reviendra au meme si un resultat est encore plus long que long (j'devrais faire publicitaire moi).

    Je sais qu'en javascript c'est possible (mais comment?) mais le probleme est que si le client désactive le javascript, c'est foutu :s

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2002
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 165
    Points : 193
    Points
    193
    Par défaut
    attention le langage c'est VB.Net pour une application Windows

    mais j'ai trouvé la solution tout seul, c'est très simple, il suffit de selectionner le dernier index du texte ( la derniere position avec une longueur egale à txtbox.text.lenght ) ce qui placera en fait le curseur de saisie de la textbox à la derniere ligne

    ensuite il faut utiliser la méthode "ScrollToCaret()" du controle textbox qui permet de faire descendre l'ascenseur à la position du curseur de saisie de la textbox,

    tout ceci aura lieu automatiquement en mettant ce code dans l'evenement "textchanged" de la textbox, dès que le texte de la textbox se modifie ( remplissage ) ben hop l'ascenseur se repositionne à la derniere ligne

    cette astuce est nikel quand on utilise une textbox qui affiche le log d'une opération qui se déroule progressivement ( scannage des fichiers sur un disque dur et affichage au fur et à mesure des résultats dans la textbox, il faut alors que l'ascenseur descende à la derniere ligne )

    voici le code source:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub txtLog_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtLog.TextChanged
            txtLog.SelectionStart = txtLog.Text.Length
            txtLog.SelectionLength = txtLog.Text.Length
            txtLog.ScrollToCaret()
            txtLog.Refresh()
    End Sub

  5. #5
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Oops sorry. Defaut d'habitude

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


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

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/03/2006, 16h49
  2. Réponses: 3
    Dernier message: 06/03/2006, 07h31
  3. [ADO.Net][VB.Net] Comment faire requête dynamique Access ?
    Par Zinneke dans le forum Accès aux données
    Réponses: 2
    Dernier message: 12/02/2006, 18h09
  4. [CORBA & VB .NET] comment faire et avec quoi ...
    Par zlavock dans le forum CORBA
    Réponses: 1
    Dernier message: 12/01/2005, 09h22
  5. [VB.NET] Comment faire un appel de fonction ?
    Par Webman dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/05/2004, 10h06

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