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 :

bouton annuler en vb


Sujet :

VB.NET

  1. #1
    Invité
    Invité(e)
    Par défaut bouton annuler en vb
    bonjour a tousse
    j'ai un tout petit probleme en vb

    j'ai fait un bloc note en vb avec un richtextbox
    je voullait faire un bouton édition annuler
    mais alors la je ne sais vraiment pas comment on fait sa
    je voullait juste quand j'appuie sur le bouton annuler sa annule la derniere opération

    pouvez vous m'aider

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Salut,

    Je vois deux solution. Soit a chaque modification du texte, tu enregistre ce qui a changer (Ajouter "A" en fin de chaine), ducoup tu peux essayer de faire machine arrière (supprimer "A" en fin de chaine.

    Mais ça me parait compliquer puisque l'utilisateur peut copier coller, supprimer et ajouter partout dans ton texte.

    Sinon tu pourrais utiliser deux String pour faire un "historique". Par exemple a chaque Text_Changed tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonString1 = MonString2
    MonString2 = MonRichTextBox.Text
    Et si l'utilisateur fais annuler tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonRichTextBox.text = MonString1
    Si tu veux sauvegarder deux actions, il faut 3 string etc...

  3. #3
    Invité
    Invité(e)
    Par défaut
    a oki j'arrive un peu a comprendre
    donc le code de mon bouton annuler c'est juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonRichTextBox.text = MonString1
    ou doit-je placer sa ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonString1 = MonString2
    MonString2 = MonRichTextBox.Text
    Dernière modification par Deepin ; 06/05/2010 à 10h37. Motif: Balises [CODE]...[/CODE]

  4. #4
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Sinon il y a aussi la possibilité d'utiliser les possibilités offertes par le contrôle RichTextBox qui gère très bien l' Undo/Redo voici un exemple simple, un RichTextBox, deux Button (Enabled = False en mode design) :

    Code VB.Net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    ' ... remplace ByVal sender As Object, ByVal e As EventArgs
    Private Sub btnRedo_Click(...) Handles btnRedo.Click
        rtxtNote.Redo()
        SetUI()
    End Sub
     
    Private Sub btnUndo_Click(...) Handles btnUndo.Click
        rtxtNote.Undo()
        SetUI()
    End Sub
     
    Private Sub rtxtNote_TextChanged(...) Handles rtxtNote.TextChanged
        SetUI()
    End Sub
     
    Private Sub SetUI()
        btnRedo.Enabled = rtxtNote.CanRedo
        btnUndo.Enabled = rtxtNote.CanUndo
    End Sub

    Et voilà le travail ! pour quelque chose d'un peu plus poussé, regarder du côté des propriétés/méthodes (en vrac) du RichTextBox
    • ClearUndo() [Note: lors de la sauvegarde du document par exemple]
    • RedoActionName [Note: regarder le fonctionnement des boutons Undo/Redo de Visual Studio pour se faire une idée de l'utilisation]
    • UndoActionName [Voir note précédente]

  5. #5
    Invité
    Invité(e)
    Par défaut
    voila mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub AnnulerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnnulerToolStripMenuItem.Click
            rtxtNote.Annuler()
            SetUI()
        End Sub
        Private Sub rtxtNote_TextChanged(...) Handles rtxtNote.TextChanged
            SetUI()
        End Sub
        Private Sub SetUI()
            btnAnnuler.Enabled = rtxtNote.CanUndo
        End Sub
    par contre il me dit que rtxNote n'est pas déclarer
    dans (...) il me souligne le premier point et dit: identificateur atendu
    et pour finir il me souligne rtxNote après handles et il dit: la clause handles requiert une variable withevents définie dans le type conteneur ou l'un de ses type de base
    que faire ?

  6. #6
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Tu as su comprendre que "mon" btnUndo correspondait à "ton" btnAnnuler, il en est de même pour "mon" rtxtNote", tu doit le remplacer par le nom de "ton" RichTextBox

  7. #7
    Invité
    Invité(e)
    Par défaut
    oki mais voici mon nouveau code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub AnnulerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnnulerToolStripMenuItem.Click
            RichTextBox.Annuler()
            SetUI()
        End Sub
        Private Sub rtxtNote_TextChanged(...) Handles RichTextBox.TextChanged
            SetUI()
        End Sub
        Private Sub SetUI()
            btnAnnuler.Enabled = RichTextBox.CanUndo
        End Sub
    alors cette fois si il en souligne un peu moins
    il souligne richtextbox.annuler et il dit que: annuler n'est pas un membre de richtextboxprintctrl
    et aussi que btnannuler n'est pas déclarer
    que faire ?

  8. #8
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Au lieu de mettre n'importe quoi n'importe où, regarde un peu mon exemple essaie de comprendre comment il fonctionne (rappel pour MON EXEMPLE j'utilise deux Button et un RichTextBox).

    Toi tu as aussi un RichTextBox, je ne suis pas devin je ne peux pas deviner son nom, donc j'ai utilisé un nom "fictif" pour mon exemple à toi de le remplacer par le nom du tien.

    Quant au bouton Undo ou Annuler peu importe, du peu que je vois de ton code tu n'utilise pas un contrôle de type Button, donc je ne sais pas où tu es allé inventer un "btnAnnuler".

    Bref, pour faire court, utilise tes noms de contrôles en remplacement des miens et ça marchera tout seul sans erreur

  9. #9
    Invité
    Invité(e)
    Par défaut
    oki oki
    j'ai un richtextbox
    et un bouton annuler
    donc voici mon nouveau code je progresse parce que cette fois si il n'y a plus d'erreur mais sa ne marche pas quand je clique sur annuler il supprimer
    ma richtextbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub AnnulerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnnulerToolStripMenuItem.Click
            RichTextBox.Undo()
            SetUI()
        End Sub
     
        Private Sub SetUI()
            RichTextBox.Enabled = RichTextBox.CanUndo
        End Sub
     
        Private Sub RichTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox.TextChanged
            SetUI()
        End Sub

  10. #10
    Invité
    Invité(e)
    Par défaut
    j'ai voulu éssayer le premier exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub AnnulerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnnulerToolStripMenuItem.Click
            Dim monstring1 As String
            RichTextBox.Text = MonString1
        End Sub
     
        Private Sub RichTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox.TextChanged
            Dim monstring1 As String
            Dim monstring2 As String
            monstring1 = monstring2
            monstring2 = RichTextBox.Text
        End Sub
    et dans monstring1 = monstring2 il souligne monstring2 et dit:
    La variable 'monstring2' est utilisée avant qu'une valeur ne lui ait été assignée. Une exception de référence null peut se produire au moment de l'exécution
    dsl si j'ai pas bien compris le 2eme exemple mais bon c'est pas toujours simple
    Dernière modification par Deepin ; 07/05/2010 à 16h36. Motif: Balises [QUOTE]...[/QUOTE]

Discussions similaires

  1. formulaire + bouton envoyer et bouton annuler
    Par perlgirl dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 01/10/2009, 10h56
  2. [VBA inputbox] le bouton annuler ne marche pas
    Par herendel dans le forum Access
    Réponses: 2
    Dernier message: 15/05/2006, 12h42
  3. [js]methode "alert", bouton annuler par defaut
    Par jeromejanson dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/09/2005, 11h35
  4. [VB.NET] Pb avec le bouton Annuler d'1 barre de progression
    Par dada1982 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/06/2004, 09h56
  5. Réponses: 5
    Dernier message: 04/04/2003, 15h02

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