kikou93
Messages postés417Date d'inscriptionmardi 4 février 2014StatutMembreDernière intervention24 septembre 2018
-
21 nov. 2016 à 13:18
kikou93
Messages postés417Date d'inscriptionmardi 4 février 2014StatutMembreDernière intervention24 septembre 2018
-
22 nov. 2016 à 10:16
Bonjour
je voulais créer une ComboBox qui contient tout les polices d'écriture de Systeme (Comme celle utilisé dans Word)
Pour remplir la ComboBox Voici le code :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim fonts As New InstalledFontCollection Dim font_f() As FontFamily = fonts.Families() For Each ft As FontFamily In font_f ComboBox1.Items.Add(ft.Name) Next End Sub
Le problème est la prochaine étape, dans la ComboBox de Word par exemple si on écrit "Tim" le mot complète s'affiche dans la ComboBox "Times New Roman" et la partie "Times New Roman" est sélectionné au cas ou vous voulais la modifier
J'ai pensé à ça :
Dim Pos as Integer = 0 Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress Pos = ComboBox1.SelectionStart End Sub Private Sub ComboBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.TextChanged For i As Integer = 0 To ComboBox1.Items.Count - 1 If Strings.Left(ComboBox1.Text, Len(ComboBox1.Text)) = Strings.Left(ComboBox1.Items(i), Len(ComboBox1.Text)) Then ComboBox1.SelectionStart = Pos ComboBox1.Text = ComboBox1.Text & Strings.Right(ComboBox1.Items(i), Len(ComboBox1.Text)) ComboBox1.SelectionLength = Len(ComboBox1.Text) End If Next End Sub
Mais dés que j'écris la premiere lettre le mot s'affiche et il est complément sélectionné, si j'essayé de le supprimer la première valeur dans la ComboBox s'affiche
J'arrive pas a imaginer d'autre idées
ps : je sais qu'il existe une boîte de dialogue "FontDialog" mais je veux éviter de l'utiliser
Merci pour votre future aide
kikou93
Messages postés417Date d'inscriptionmardi 4 février 2014StatutMembreDernière intervention24 septembre 20181 22 nov. 2016 à 10:16
Bonjour,
J'ai trouvé la solution, il y a deux méthode soit par code soit en utilisant les propriétés de la ComboBox
1. Par Propriété : mettre
AutoCompleteMode = Append
AutoCompleteSource = ListItems 2. par code :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '-------------- Remplir la ComboBox avec les Police du Systeme ----------- Dim fonts As New InstalledFontCollection Dim font_f() As FontFamily = fonts.Families() For Each ft As FontFamily In font_f ComboBox1.Items.Add(ft.Name) Next 'Choix de la méthode avec laquelle la saisie sera complété ' soit avec une liste de suggestions, soit en complétez le texte saisie ou les deux en même temps ComboBox1.AutoCompleteMode = AutoCompleteMode.Append ' Complétez le texte saisie ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems 'La liste avec laquelle en complète la saisie est celle remplie plus haut End Sub