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 :

[C#][WinForm]Recherche de valeur


Sujet :

Windows Forms

  1. #1
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut [C#][WinForm]Recherche de valeur
    Bonjour. alors voila, j'ai besoin d'avoir un mot associe a une valeur dans "un truc" (je ne sais pas trop quoi prendre) et ensuite, pouvoir faire des recherches dessus (dans le me style que les index d'aide : on rentre une lettre et la liste va a cette lettre, on en rentre une aute, elle va a ce qui correspond aux 2 lettres...)

    pourriez vous me dire ce que je dois utiliser pour faire ca et m'aiguiller un peu sur comment faire la recherche car la, je patauge et je ne trouves rien...

    merci d'avance...
    développeur en folie cherche à ... développer encore plus

  2. #2
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut
    j'essaie de comprendre :

    tu as comme mots dans une db:

    • bon
    • bonjour
    • bonne nuit
    • box
    tu tape : b (tu recois tous les mots)
    bo (tous les mots)
    bon (tous sauf box)
    bonn (bonne nuit)

    c'est bien ca??

  3. #3
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par zeavan
    j'essaie de comprendre :

    tu as comme mots dans une db:
    • bon
    • bonjour
    • bonne nuit
    • box
    tu tape : b (tu recois tous les mots)
    bo (tous les mots)
    bon (tous sauf box)
    bonn (bonne nuit)

    c'est bien ca??
    oui, c'est exactement ca que je veux faire mais je ne sais pas dans quoi mettre mes mots ni comment faire ca....
    développeur en folie cherche à ... développer encore plus

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 80
    Points
    80
    Par défaut
    Je pense que ça dépend du nombre total de tes mots.
    Tu pourrais utiliser une table de hachage, mais j'avoue avoir du mal à faire ça...

    Si ça peut t'aider, je te renvoie à la fac de C#, pour l'utilisation de la collection SortedList : http://rmdiscala.developpez.com/cour...htm#SortedList

  5. #5
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    peut-etre, mais comment gerer l'affichage de ta recherche avec ca?
    développeur en folie cherche à ... développer encore plus

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    salut,

    j'avais fait ça avec un textbox et un listbox (mais j'ai tout viré pour faire autrement) sinon le point de depart etait ce bout de code qui concerne un combo :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Imports System.Windows.Forms
     
    Public Class ComboBoxC
        Inherits ComboBox
     
        Private _AutoComplete As Boolean = True
        'Variable permettant à la procedure OnTextChanged de savoir si on effectue une recherche ou pas
     
        Protected Overrides Sub OnKeyDown(ByVal e As KeyEventArgs)
            'evenement lancé quand on presse sur une touche dans le combo
            _AutoComplete = e.KeyCode <> Keys.Delete And e.KeyCode <> Keys.Back
            'Si action DEL ou BACKDEL la recherche ne se fait pas
     
            MyBase.OnKeyDown(e)
            'puisqu'on a overridé la methode OnKeyDown de la classe
            ' de base ComboBox sinon les delegues qui sont enregistres
            'ne recevront plus la notification de l'événement (à savoir une touche a ete pressée
        End Sub
     
        Protected Overrides Sub OnTextChanged(ByVal e As EventArgs)
            'Cette methode est lancee lorsque le texte dans le combo a ete change
            If _AutoComplete Then
                'on s'assure que l'utilisateur n'a pas tape la touche retour (fleche droite ou la touche de suppresion
                Dim TextEntered As String = Me.Text
                'on recupere le texte en cours dans le combo
                Dim index As Integer = Me.FindString(TextEntered)
                'La methode FindString fait partie de la classe ComboBox
                If index >= 0 Then
                    'Si le texte tape existe dans l'un des elements du combo
                    _AutoComplete = False
     
                    Me.SelectedIndex = index
                    'On deplace la selection du combo en fonction du texte trouve
                    _AutoComplete = True
                    Me.Select(TextEntered.Length, Me.Text.Length)
                    'on ne seletionne que le texte qui a ete ajoute
                End If
            End If
            MyBase.OnTextChanged(e)
            'meme explication seulement l'evenement est : changement de texte
        End Sub
    End Class
    y'a plus qu'a modifier pour afficher dans une listbox...

  7. #7
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    ok, je test ca...
    développeur en folie cherche à ... développer encore plus

  8. #8
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    il n'y avais pas le [C#] quand j'ai répondu... donc c'est du VB

    m'enfin ça s'arrose, c'est la 1ere fois que je suis du coté des joyeux contributeurs

  9. #9
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    oui oui, t'en fais pas, je fais les 2...
    développeur en folie cherche à ... développer encore plus

  10. #10
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    bon, alors voila, finalement et apres pleins de recherche perso, j'ai trouve une solution :

    j'utilise un textBox et une listBox. lorsqu'un caractere est entre dans le textBox, j'utilise la fonction du listBox qui renvoie l'index du mot correspondant a cette lettre et je lui fait selectionner ce mot et voila, ca le fais...
    mais ca peut etre aussi une comboBox pour ceux qui veulent a la place de la listBox...

    a tous
    doudouallemand
    développeur en folie cherche à ... développer encore plus

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

Discussions similaires

  1. recherche de valeurs dans un tableur excel
    Par maxiut dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/05/2006, 07h25
  2. [WinForms] ComboBox avec valeur non désirée
    Par Ditch dans le forum Général Dotnet
    Réponses: 14
    Dernier message: 11/04/2006, 16h52
  3. Recherche de valeurs propres
    Par petdelascar dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 01/03/2006, 17h11
  4. [DAO]rechercher la valeur max d'un identifiant
    Par stressy dans le forum Access
    Réponses: 3
    Dernier message: 13/12/2005, 11h28
  5. Réponses: 7
    Dernier message: 26/10/2004, 11h02

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