begin process at 2008 07 06 18:07:59
1 205 682 membres
247 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DLL COMBOSENSE , LE COMBOBOX À SAISIE SEMI-AUTOMATIQUE PARFAIT !


Information sur la source

Description

Voici un control ComboBox classique mais avec l'implémentation de la technologie de la saisie semi-automatique.

Trop facile avec vb.net de faire des contrôle comme ça en quelques lignes de code quand je pense qu'en VB6 il faudrais 65465454 lignes de code non je rigole mais bcp plus ça c'est sur :)

Dans le zip la Dll avec la source, et le Projet TEST :o)

Source

  • Extrait du code :
  • Public Class Hst_ComboSense
  • Inherits System.Windows.Forms.ComboBox
  • Private mHstIntelliSense As Boolean = True
  • Protected Overrides Sub OnKeyUp(ByVal e As KeyEventArgs)
  • If mHstIntelliSense = True Then
  • If e.Shift = True Then
  • HstSaisieAuto(e.KeyCode, True)
  • Else
  • HstSaisieAuto(e.KeyCode, False)
  • End If
  • End If
  • End Sub
  • <Category("Behavior"), Description("Technologie Hostonet IntelliSense (Saisie semi-automatique)")> _
  • Public Property HstIntelliSense() As Boolean
  • Get
  • Return mHstIntelliSense
  • End Get
  • Set(ByVal Value As Boolean)
  • If Value.Equals(mHstIntelliSense) Then Return
  • mHstIntelliSense = Value
  • If Not DesignMode AndAlso mHstIntelliSense Then Invalidate()
  • End Set
  • End Property
  • Private Sub HstSaisieAuto(ByVal KeyPress As Keys, ByVal ShiftPressed As Boolean)
  • Dim Nbr_Choix As Integer
  • Dim LongeurFrappe As Integer
  • 'Analyse des touches relachée
  • 'Si corresponds pas à une valeur entre A et Z ainsi que 0 et 9 alors on annule la
  • 'procédure , si elle corresponds alors on continue
  • If Not ( _
  • (KeyPress >= Keys.A And KeyPress <= Keys.Z) Or _
  • (KeyPress >= Keys.NumPad0 And KeyPress <= Keys.NumPad9) Or _
  • (ShiftPressed = True And (KeyPress >= 48 And KeyPress <= 58))) _
  • Then
  • Exit Sub ' On sort de la procédure pas la bonne touche relachée
  • Else
  • ' Mybase peux être remplacer par ME qui désigne le control en lui même
  • LongeurFrappe = Len(MyBase.Text)
  • If Len(MyBase.Text) > 0 Then
  • If Not MyBase.FindString(MyBase.Text) = -1 Then
  • MyBase.Text = MyBase.Items(MyBase.FindString(MyBase.Text)).ToString
  • MyBase.SelectionStart = LongeurFrappe
  • MyBase.SelectionLength = Len(Me.Text) - LongeurFrappe
  • End If
  • End If
  • End If
  • End Sub
  • End Class
Extrait du code : 

Public Class Hst_ComboSense

    Inherits System.Windows.Forms.ComboBox

    Private mHstIntelliSense As Boolean = True

    Protected Overrides Sub OnKeyUp(ByVal e As KeyEventArgs)

        If mHstIntelliSense = True Then
            If e.Shift = True Then
                HstSaisieAuto(e.KeyCode, True)
            Else
                HstSaisieAuto(e.KeyCode, False)
            End If
        End If

    End Sub

    <Category("Behavior"), Description("Technologie Hostonet IntelliSense (Saisie semi-automatique)")> _
    Public Property HstIntelliSense() As Boolean
        Get
            Return mHstIntelliSense
        End Get
        Set(ByVal Value As Boolean)
            If Value.Equals(mHstIntelliSense) Then Return
            mHstIntelliSense = Value
            If Not DesignMode AndAlso mHstIntelliSense Then Invalidate()
        End Set
    End Property



    Private Sub HstSaisieAuto(ByVal KeyPress As Keys, ByVal ShiftPressed As Boolean)
        Dim Nbr_Choix As Integer
        Dim LongeurFrappe As Integer

        'Analyse des touches relachée 
        'Si corresponds pas à une valeur entre A et Z ainsi que 0 et 9 alors on annule la
        'procédure , si elle corresponds alors on continue

        If Not ( _
        (KeyPress >= Keys.A And KeyPress <= Keys.Z) Or _
        (KeyPress >= Keys.NumPad0 And KeyPress <= Keys.NumPad9) Or _
        (ShiftPressed = True And (KeyPress >= 48 And KeyPress <= 58))) _
        Then
            Exit Sub      ' On sort de la procédure pas la bonne touche relachée
        Else

            ' Mybase peux être remplacer par ME  qui désigne le control en lui même

            LongeurFrappe = Len(MyBase.Text)

            If Len(MyBase.Text) > 0 Then
                If Not MyBase.FindString(MyBase.Text) = -1 Then
                    MyBase.Text = MyBase.Items(MyBase.FindString(MyBase.Text)).ToString
                    MyBase.SelectionStart = LongeurFrappe
                    MyBase.SelectionLength = Len(Me.Text) - LongeurFrappe
                End If
            End If

        End If
    End Sub
End Class

Conclusion

Voilà c'est mon premier contrôle alors soyez sympa merci :)
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Hostonet ComboSensor
    •   bin
      • Hostonet ComboSensor.dllTélécharger ce fichier [Réservé aux membres club]6 656 octets
      • Hostonet ComboSensor.pdbTélécharger ce fichier [Réservé aux membres club]15 872 octets
    •   obj
      •   Debug
        • temp
        • TempPE
        • Hostonet ComboSensor.dllTélécharger ce fichier [Réservé aux membres club]7 680 octets
        • Hostonet ComboSensor.pdbTélécharger ce fichier [Réservé aux membres club]15 872 octets
      •   Release
        • temp
        • TempPE
        • Hostonet ComboSensor.dllTélécharger ce fichier [Réservé aux membres club]6 656 octets
        • Hostonet_ComboSensor.Hst_ComboSense.resourcesTélécharger ce fichier [Réservé aux membres club]188 octets
    •   test
      •   Test Hostonet ComboSense
        •   HSTComboSense Test
          •   bin
            • Hostonet ComboSensor.dllTélécharger ce fichier [Réservé aux membres club]6 656 octets
            • HSTComboSense Test.exeTélécharger ce fichier [Réservé aux membres club]12 800 octets
            • HSTComboSense Test.pdbTélécharger ce fichier [Réservé aux membres club]15 872 octets
          •   obj
            •   Debug
              • temp
              • TempPE
              • HSTComboSense Test.exeTélécharger ce fichier [Réservé aux membres club]13 824 octets
              • HSTComboSense Test.pdbTélécharger ce fichier [Réservé aux membres club]15 872 octets
            •   Release
              • temp
              • TempPE
              • HSTComboSense Test.exeTélécharger ce fichier [Réservé aux membres club]12 800 octets
              • HSTComboSense_Test.Form1.resourcesTélécharger ce fichier [Réservé aux membres club]4 404 octets
          • AssemblyInfo.vbTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 044 octets
          • Form1.resxTélécharger ce fichier [Réservé aux membres club]Voir ce fichier7 584 octets
          • Form1.vbTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 110 octets
          • HSTComboSense Test.vbprojTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 741 octets
          • HSTComboSense Test.vbproj.userTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 814 octets
    • AssemblyInfo.vbTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 044 octets
    • Hostonet ComboSensor.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 491 octets
    • Hostonet ComboSensor.suoTélécharger ce fichier [Réservé aux membres club]8 704 octets
    • Hostonet ComboSensor.vbprojTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 891 octets
    • Hostonet ComboSensor.vbproj.userTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 813 octets
    • HstComboSense.resxTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 733 octets
    • HstComboSense.vbTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 179 octets

Télécharger le zip

  • signaler à un administrateur
    Commentaire de chris81 le 26/05/2004 13:28:56

    encore plus court
    tu met combobox.dropdown = true

  • signaler à un administrateur
    Commentaire de ABL-Online le 26/05/2004 14:23:52

    rien a voir, le but de ma source n'est pas de faire défiller les éléments dans une liste en dessous !

  • signaler à un administrateur
    Commentaire de oedipe78 le 28/05/2004 10:50:26

    merci,
    ca m'a permis de comprendre rapidement comment traiter les touches que les personnes appuie :o)
    Dommage qu'il n'y a pas la meme chose pour les mouvements de la souris!! :-)

  • signaler à un administrateur
    Commentaire de IApplication le 04/04/2005 11:41:45

    Une question idiote: pourquoi vous n'utilisez pas l'option AutoCompletition déjà présente dans le contrôle ComboBox ?

  • signaler à un administrateur
    Commentaire de ABL-Online le 04/04/2005 11:49:04

    Parcequ'elle n'existe pas tout simplement !!!

    Peut-être a tu la version de visualStudio 2005 ???

  • signaler à un administrateur
    Commentaire de ricomiracle le 24/05/2005 09:46:11

    Merci pour ta source...
    Moi je cherche à réaliser avec un contrôle combobox une sorte de saisie semi-auto pointée. Je m'explique à la manière de visual studio, lorsque je tape la touche '.' la liste se déroule si le mot avant le point est reconnu comme ayant des attributs. Vous voyez ce que je veut dire...?
    Il faut donc déplacer le combo à la suite du point (ou en dessous du mot taper)
    Si il y en a qui on déja vu ça ou bien qui ont des idées, elles sont les bienvenues... Meric
    Et l'option AutoCompletition existe ou pas alors?

  • signaler à un administrateur
    Commentaire de capuccino_fr le 28/10/2005 09:17:50

    nickel ;) 8/10

  • signaler à un administrateur
    Commentaire de Nonos le 11/12/2005 23:14:55

    GOTO --> .NET2
    AutoCompleteMode (Suggest)

  • signaler à un administrateur
    Commentaire de rapatonilabo le 19/04/2006 20:01:23

    Bonjour à tous!

    Une petite question idiote de novice en la matière:
    Comment est ce que je peux utiliser ce control combobox sur mon classeur excel????? Quels fichiers utiliser parmis la multitude que l'on trouve dans le fichier .zip???
    J'attends avec impatience votre réponse ô maitres de la programmation car ce code m'intéresse vraiment bcp!!!

    Merci

Ajouter un commentaire

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS