vendredi 28 décembre 2012

Configurer un VPN sous Windows 8

Configurer un VPN sous Windows 8


Configurer un VPN (Virtual Private Network) peut prendre moins de 5 minutes. Les étapes sont très simples. Vous avez besoin de l’adresse IP, du nom d’usager et du mot de passe.

1. Premièrement, ouvrez le Panneau de configuration en utilisant la recherche de Windows ou du bureau classique. (Les images sont en anglais ainsi que les mots clefs)

Control Panel

Apps Search


jeudi 27 décembre 2012

Comment obtenir plus de résultats dans Bing ?

Bing est le deuxième moteur de recherché le plus populaire après Google. Il est important de profiter de cet outil et d’augmenter le nombre de résultats par pages pour retrouver plus rapidement vos pages. Il serait dommage que la page recherchée soit plusieurs pages plus loin après le premier.
Voici une courte vidéo vous montrant comment corriger les préférences de résultats de recherche de Bing.com




mercredi 19 décembre 2012

remplir listview vb.net avec fichier Texte

Fichier Texte vers ListViewRenseigner un TreeView à partir d’un fichier texte est possible. En effet, il arrive par moment que l’utilisateur doit importer des données dans une application provenant d’une sauvegarde question de reprendre une session interrompue ou de simplement charger une forme de base de données.

À l’aide de cet exemple, j’espère pouvoir du même coup répondre à une question provenant de forum francophone : http://www.siteduzero.com/forum-83-829718-p1-remplir-listview-vb-net.html

Ne voulant pas inutilement développer une solution trop longue et voulant privilégier des réponses plus concises sur le forum en question, j’ai décidé de compléter le texte ici.

Le projet exemple utilisé pour cet article est disponible pour téléchargement à la fin.

mardi 18 décembre 2012

Remplir une ListView

Mardi 18 décembre 2012 
pour la question suivante :

http://www.siteduzero.com/forum-83-829718-p1-remplir-listview-vb-net.html


Edition: Mercredi 19 décembre 2012




Fichier Texte vers ListViewRenseigner un TreeView à partir d’un fichier texte est possible. En effet, il arrive par moment que l’utilisateur doit importer des données dans une application provenant d’une sauvegarde question de reprendre une session interrompue ou de simplement charger une forme de base de données.

À l’aide de cet exemple, j’espère pouvoir du même coup répondre à une question provenant de forum francophone : http://www.siteduzero.com/forum-83-829718-p1-remplir-listview-vb-net.html

Ne voulant pas inutilement développer une solution trop longue et voulant privilégier des réponses plus concises sur le forum en question, j’ai décidé de compléter le texte ici.

Le projet exemple utilisé pour cet article est disponible pour téléchargement à la fin.

vendredi 14 décembre 2012

école du Connecticut

En ce 14 décembre 2012,

je présente mes condoléances aux amis et à la familles des victimes.

mercredi 12 décembre 2012

Rechercher un fichier avec performance


en Visual Basic .NET




Lorsque vous programmez, si votre dans votre boucle opère d'une façon très répétitive, peut-être devriez-vous considérer l'utilisation d'une boucle "infinie".

Non, ce n'est pas le terme que je veux utiliser. Je veux plutôt utiliser une fonction de façon circulaire en appelant une fonction par elle-même. De cette façon, il vous sera possible de multiplier la performance de votre code information par 2, 5 ou 10 sans compter que votre code sera plus court.

Voici l'exemple d'un article que j'ai écrit dans le passé en anglais. Un code informatique programmé en Visual Basic qui recherche des fichiers dans un répertoire s'assurant que les protections soient remplies. 

Peu importe l'efficacité ou la stabilité de votre code, sans l'utilisation rétroactive d'elle-même, jamais votre code ne sera digne d'un bon code informatique. En effet, lorsqu'un code informatique appelle une autre fonction, au fond, vous ne fait que découper votre code un peu partout pour ensuite pouvoir la réutiliser dans d'autre fonction. Par contre, lorsque votre fonction est codée de façon à qu'elle est capable d'accepter ses propres arguments, alors, vous êtes en mesure de multiplier votre fonction en nombre pour arriver à un résultat.





Vieux code: recherche de fichiers sans rétroactivité


    Private Sub findfiles()

        Dim dirPath As String
        Dim path_valid As Boolean
        path_valid = True

        dirPath = "c:\temp\" ' temp = no access problem
        dirPath = "c:\System Recovery" ' System Recovery = access problem


mardi 4 décembre 2012

VBA remplir case vide

Question :

Je débute sur VBA et souhaiterais savoir comment intégrer une valeur dans une case vide en tenant compte de la case précédente et de la prochaine case pleine!
Concrètement mon tableau ressemble à cela et je dois remplacer les "***" par la moyenne de la case précédente et de la prochaine pleine :

0.25 0.33 0.65 0.15
*** *** *** ***
*** *** *** ***
0.12 0.34 0.25 0.77
0.14 0.69 0.88 0.50
*** *** *** ***
0.40 0.30 0.65 0.15

Merci infiniment par avance de votre aide et de vos connaissances éclairées!!!

Réponse :


lundi 3 décembre 2012

Télécharger Windows 8 gratuitement

Obtenez Windows 8 Édition Entreprise pour 90 jours d’essai gratuitement. Destiné pour les développeurs, vous aussi pouvez utiliser la version complète pour n’importe quelle raison que ce soit, et ce tout à fait légalement. Il suffit de choisir entre la version 32 ou 64 bits et de vous enregistrer avec votre compte MSDN directement sur le site de Microsoft.

Plusieurs langues sont disponibles : Anglais, Chinois, Français, Allemand, Japonais, Coréen, Portugais brésilien, espagnol et l’italien.

Sélectionner la version selon l’architecture 32 ou 64 bits

  • Windows 8 Enterprise version complète iso 32 bits (x86) *:
  • Windows 8 Enterprise version complète iso 64 bits (x64):


Windows 8 Enterprise version complète iso 32 bits (x86) *

Windows 8 Enterprise version complète iso 64 bits (x64)


Download


Liens alternatifs :

prérequis du système selon Microsoft

Processeur: 1 gigahertz (GHz) or mieux (* Pentium 4 not compatible with Windows 8 ( anglais seulement)
RAM: 1 gigabyte (GB) (32-bit) or 2 GB (64-bit)
Espace Disque: 16 GB (32-bit) or 20 GB (64-bit)
Carte Graphique: Microsoft DirectX 9 avec pilote WDDM

samedi 1 décembre 2012

Créer votre propre Menu Démarrer dans Windows 8

Microsoft a retiré le bouton Démarrer classique de Windows de Windows 8. Peut-être que vous souhaitez le récupérer. Vous pouvez le récupérer que si vous téléchargez une nouvelle application, mais ce n'est pas toujours gratuit. Ici, je vais vous montrer ce que vous pourriez faire votre propre menu Démarrer de Windows 8. Pour y arriver, il faut franchir plusieurs étapes et je vais tous faire pour bien les expliquer. C’est pourquoi je vais diviser le sujet en plusieurs articles.

Menu Windows 7 (Windows 7 Start Button)

Menu Windows 7

La première chose à faire pour réaliser votre menu démarrer personnalisé est de vous procurer Microsoft Visual Basic Express 2010 ou Microsoft Visual Studio 2010 Professionnel. Dans mon cas, je travaille avec la version professionnelle, mais soyez rassuré que la version Express (gratuite) fonctionne tout autant). Procurez-vous la version anglophone: Download Visual Studio or Express Edition
Ou la version francophone ici : Télécharger Visual Basic Express


Créer votre projet dans Visual Basic Express 2010 or Visual Studio 2010


J’ai décidé de commencer un nouveau projet avec le dossier avec les formulaires Windows :  Windows Forms Applications. J’ai nommé mon projet: SampleBasicProgram. Appuyer OK lorsque vous avez terminé.





Créer votre formulaire dans Visual Basic Express 2010 or Visual Studio 2010. J’ai placé un bouton1 pour facilement effectuer les fonctions tests et une barre de tâche en bas du formulaire pour m’aider à mieux visualiser le bas de mon formulaire. C’est qu’au fond, le formulaire doit être au-dessus de la barre de tâches et cela m’aidera à mieux voir l’effet de proximité. Après tout, l’allure de votre formulaire n’a pas d’importance. Seule sa position initiale l’est.



Déterminer la position et la résolution de l’écran


Si vous démarrez votre programme, le formulaire peut apparaître n’importe où. Parce que Windows fonctionne avec une origine en haut à gauche de l’écran, il devient nécessaire de faire un peu de mathématiques pour pouvoir placer la fenêtre du menu démarrer au bon endroit.
J’utilise la fonction screen pour récupérer la taille de l’écran principal. Je présume aussi que la barre de tâche est attachée à l’écran principal.

Si vous démarrez votre programme, le formulaire peut apparaître n’importe où. Nous devons lui préciser la position initiale. Dans le code qui va suivre, la fonction Scrren.PrimaryScreen.WorkingAdrea.Buttom est employée.
Éviter d’utiliser les vieilles réponses et les vieilles fonctions créées en 32 bits telles que le shell32.  Elle ne vous apportera que des soucis. D’ailleurs, la barre de tâches est souvent d’une hauteur de 40 pixels ou de 32 pixels selon la version de Windows et de choix des.
Aussi, vous devez surcharger la fonction OnShown Function du formulaire form:


    Protected Overrides Sub OnLoad(e As System.EventArgs)
        MyBase.OnLoad(e)
        MyBase.Top = Screen.PrimaryScreen.WorkingArea.Bottom - Me.Height
        MyBase.Left = Screen.PrimaryScreen.WorkingArea.Left
    End Sub


Nous ne pouvons pas dynamiquement placer le formulaire en utilisant la propriété Me.Height puisque ce dernier doit être complètement créé avant l’utilisation. C’est d’une façon une méthode simple et rapide pour obtenir ce qu’on veut.
Lorsque vous démarrez votre programme maintenant, vous pourriez obtenir un beau résultat comme ceci:



Après, tout est une question d’esthétisme.

Prochain article : Créer une boîte de recherchée - Create de Search TextBox
Prochain article : Lancer un programme - Launch a program from the Windows 8 Start Menu




Référence



jeudi 29 novembre 2012

Changement de bureau classique dans Windows 8

Comment changer pour le bureau classique dans Windows 8

Pour passer du nouvel écran Windows 8 au  bureau classique, il vous suffit de maintenir sur la touche windows entre la touche CTRL et ALT de votre clavier et appuyez sur "D". C’est très simple et cela fonctionne de la même manière pour toutes les versions antérieures de Windows 8 (Windows 7, Windows XP, ...)

Beaucoup d’utilisateurs ont des problèmes d’adaptation au nouveau métro ou l'écran du menu nouveau (appeler ça comme vous voulez). C'est la raison pour laquelle cette petite astuce va vous aider. La plupart des logiciels fonctionnant sous la vue classique. Mais Windows 8 a tendance à vous ramener vers le nouveau format.

Certains vous conseilleront d'acheter une application ou un outil pour vous redonner vos vieux trucs (tel que le menu démarrer). Je pense que ça ne vaut pas l'investissement. Utilisez les nouvelles fenêtres comme telles qu’elles sont, sinon vous allez à contre-courant


Windows 8 avec bureau classique:



Windows 8 avec vue métro :


Si vous appuyez sur le bouton Windows tout simplement, vous allez simplement passer à la vue précédente. Cela est très efficace si vous avez besoin pour passer d’un programme à un autre. Oui, c'est bon pour les gens qui utilisent des tabloïdes ou pour ceux qui haïssent de tourner la tête entre les 2 écrans.



mardi 27 novembre 2012

Fonction Visual Basic

 Fonction Visual Basic


Ceci est en réponse à un post situé sur :
par CoD-Scarface : Posté le 27 novembre 2012 à 14:31:18

Bonsoir a tous, je cherche quelqu'un d'assez doué(du moins plus que moi) en Visual Basic pour réussir a créer une fonction à partir de ce texte :
je souhaite placer une somme N (par exemple 1000euros), sur un compte et je voudrais savoir au bout de combien de temps j'atteindrais un nouveau capital D (par exemple 5000euros)avec un taux d'intérêt annuel T (par exemple 2,5% par an).
Les arguments sont donc capital initial, taux d'intérêt et capital nouveau
Merci de votre aide



@CoD-Scarface, voici un exemple. Fait-toi un formulaire avec:

  1. Form1
  2. Label1
  3. Label2
  4. Label3
  5. Label4
  6. TextBox1
  7. TextBox2
  8. TextBox3
  9. Button1



Disposition du form




Public Class Form1
    Private mAnnee As Integer

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        Label2.Text = "somme de départ"
        Label3.Text = "pourcentage"
        Label4.Text = "Résultats Souhaité"

        TextBox1.Text = 1000 'argent
        TextBox2.Text = 1.05 'pourcentage
        TextBox3.Text = 1500 'résultats finals
        mAnnee = 0
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        mAnnee = 0
        Do
            mAnnee = mAnnee + 1
            TextBox1.Text = TextBox1.Text * TextBox2.Text
        Loop Until TextBox1.Text >= TextBox3.Text
        Label1.Text = TextBox1.Text & " atteind en " & mAnnee & " Année(s)"

    End Sub
End Class







Comme disait Godrik, c'est un problème mathématique ou économique à prime à bord. Moi, j'ai juste fait travailler la machine  



mardi 20 novembre 2012

IGE-XAO en difficulté


En exclusivité - Mardi 20 novembre 2012


La compagnie IGE-XAO Amérique du Nord faute de respecter ses obligations contractuelles et de la cours de justices risque forts biens de subir les inconvénients de la saisie-arrêt communément appelé saisie-bancaire au Québec. Un jugement de la cours émis le 1 août 2012 avait donné un avis favorable à la compagnie Check Technologies ltée pour services impayés. Alors que l’avis émis par le palais de justice donnais 14 jours au débiteur de payer, il n’en est rien dans la réalité. En effet, la compagnie Check Technologies a décidé d’exercer son droit l’exécution par la force soit plus de 3 mois après la date du jugement du 1er aoùt 2012 en faisant appel à un huissier de justice contre IGE-XAO Amérique du Nord dirigé par Christian Dejean.

jeudi 15 novembre 2012

Renommer des localisations

Renommer des localisations

Bonjour,

Tout d’abord, j’ai travaillé chez IGE-XAO entre les années 2007 et 2011. J’ai accompagné plusieurs clients dans leurs difficultés avec les logiciels tels que See Electrical Expert™. Mon expérience est diversifié et depuis longtemps, je me suis fait plaisir à aider les gens.


J’ai trouvé une question sur le forum de CADxp. Sa question n’a été jamais répondue. J’ai voulu lui répondre par le biais du forum du site, mais je ne suis pas arrivé. Alors, j’ai décidé de lui répondre à sa question qui date de 2008 et ainsi contribuer à la société.

macro VBA pour renommer des localisations
bonjour
je  veux  créer  une  macro qui renomme  mes localisation[s] (1000 localisation[s])
merci
-nikky le 02 décembre 2008 02 :00

Cher nikky, votre question est très louable, mais malheureusement très difficile. Je vais expliquer pourquoi.


D’abord, il faut savoir une chose. Le nom localisations peut être gêné par 2 choses, l’endroit où elles sont créées. Par exemple, les noms de localisation sont-ils uniques dans l’ensemble du projet, dans un groupe, dans un folio ? Ensuite, le nom de localisations a-t-il un impact avec le repérage des symboles, câbles, borniers, connecteurs ? Donc, ces paramètres qui contrôlent la validité des localisations font partie des méthodes du projet et ces contrôles peuvent te nuire considérablement même en cours de redéfinitions de nom de localisations. Considérant que tu possèdes 1000 localisations, il est possible que ton projet a une certaine logique et structure.


Si j’écarte la difficulté de l’unicité des noms de localisation par groupe, par projet, et cetera, je vais prendre l’exemple simple où les localisations existent dans ton projet sous la forme la plus simple, soit unique et globale dans ton projet. Je vais aussi considérer que les localisations ne soient pas inclussent dans le repérage de tes symboles uniquement pour simplifier ma réponse. Tu peux bien évidemment te douter qu’il existe du travail à ce niveau.


Alors, je commence par l’algorithme qui suit :
  1. Créer les nouvelles localisations :
  • Déterminer les localisations existantes (1000)
  • Créer des nouvelles localisations dans le projet (1000)
  • Total de 2000 localisations dans le projet (1000 + 1000 = 2000)

Explications : on ne peut pas directement renommer les localisations, ça aurait été trop facile. Il faut réussir à en créer une nouvelle,  identifier un élément du projet, assigner la nouvelle localisation à l’élément, mettre à jour l’élément, puis passer au prochain élément.
Ayant 2000 localisations à votre disposition, il faut :
  1. Assigner  une nouvelle localisation à chacun des éléments suivants :

  • Renommer (au besoin) la localisation par défaut du projet (dossier)
  • Renommer (au besoin) la localisation par défaut des groupes et/sous-groupe du dossier
  • Renommer (au besoin) la localisation par défaut de tous les folios.

Explications : renommer les localisations par défaut des groupes et sous-groupes va seulement impacter les nouveaux éléments insérés dans votre projet. Elle ne modifie par les éléments existants contenus dans votre projet.

Maintenant que vous avez peut-être compris sans même avoir commencé à coder, il faut impérativement s’attaquer aux symboles, câbles, bornes, connecteurs… bref le vrai gros travail débute ici. Je profite de l’occasion pour vous donner les directions.

  1. Renommer les symboles maîtres

  • Repérer les symboles par la méthode de votre choix : obtenir les symboles d’une vue active, obtenir les symboles par une collection de folios, obtenir les symboles attachés par un fils, et cetera.
  • Déterminer si c’est un symbole maître
  • Déterminer si ce symbole possède une localisation ou non
  • Déterminer si le repère de ce symbole peut entrer en conflit avec un autre élément basé sur sa racine, sa localisation, sa fonction, son numéro de colonne, et cetera.

Assigner la nouvelle localisation à ce symbole après les vérifications
Déterminer le folio où est inséré ce symbole maître
Faire une mise à jour de ce folio (oui, il faut le faire !!!)
Passer au prochain symbole maître.


Explications : lorsque le symbole maitre est modifié, les symboles esclaves sont aussi modifiés.  Mais attention, lorsqu’on rencontre un symbole maître avec localisation, mais sans étiquette ou un symbole sans racine par défaut. Aussi, il faut être vigilant avec tous les cas d’espèce. Par exemple lorsque vous rencontrez un symbole esclave sans maîtres. Certaines versions de See Electrical Expert™ peuvent accepter certaines situations alors que dans d’autres, le logiciel va refuser.


Il est certain qu’il faut aussi traiter les bornes prudemment. Il faut faire attention de ne pas déplacer des bornes vers de mauvais bornier ou modifier l’ordre des positions de bornes dans le bornier. Il faut aussi ne pas oublier les bornes de réserves  et ne pas briser les connections ou les positions de fils attachés au bornes.


Aussi, vous devez être prudent avec les fils ou les câbles. Un déplacement ou le changement de nom d’une localisation ne prend pas effet automatiquement dans les câbles ou les fils. Encore une fois, les outils fournis par le logiciel ne font pas le travail avec assurance. Il faut doubler de vigilance lorsqu’on réassigne une nouvelle valeur de localisations tenante et abrutissante.


Je peux aussi continuer à énumérer des cas où vous devez faire attention, mais vous comprenez que c’est possible, mais un peu long à développer en moins d’une journée.


Aussi, il faut aussi réaliser que lorsque vous désirer renommer des localisations dans un projet, il faut penser si vous utiliser le module Panneau 2D offert par See Electrical Expert™… sachez que durant le processus de changement de localisation par macro, il y a de forte de chances que votre implantation 2D soit altérée. Alors, vous devez prévoir encore du temps de développement.


Évidemment, si un tel outil s’avérait profitable pour vous, alors pourquoi pas ? Vous pourriez devancer vos concurrents.

À moins que vous soyez très ami avec IGE-XAO ou bien que vous avez énormément d’argent à dépenser, il y a peu de chances pour vous d’avoir un tel outil. Mais, je vais vous présenter une alternative que j’ai apprise avec une grande entreprise québécoise qui pourrait être intéressante. Malheureusement, le support technique d’IGE-XAO ne vous le proposera pas. Je serais même surpris qu’il puisse même en connaître l’existence ou l’utilité.

Demander au support technique d’IGE-XAO fonctionnement la copie de groupes et ce que ça mange en hiver.

Ah, je profite de cette tribune pour vous avertir d’une chose. Si jamais la compagnie IGE-XAO vous proposait leur produit révolutionnaire qui est Open Data, sachez que vous pourriez être déçu si on vous présentait ce produit comme la solution à ce problème localisation. En effet, l’import et l’export par fichier Excel est intéressant, mais rien dans cet import ou export ne permet de contrôler et aussi bien gérer votre projet électrique tel qu’il est construit. Malheureusement, la prétention d’IGE-XAO de pouvoir effectuer un contrôle est bien mince après vous avoir rapidement décrit les difficultés potentielles d’un remplacement de nom de localisation. Après tout, pourquoi dépenser votre argent pour une solution indirecte et dispendieuse alors qu’il existe déjà une solution intégrée au logiciel ?

Sur ce nikky, j’espère avoir répondu à votre question et surement, vous n’en demandiez pas tant.







samedi 3 novembre 2012

Utiliser le Timer dans VB.NET

VB.NET : Utiliser le Timer


Il y a toujours plus d’une façon de faire les choses. Aujourd’hui, je montre comment utiliser le Timer. Le Timer utilisé agit comme un compte-à-rebours. Il est simple d’utilisation et ne ralentit pas les performances de votre programme. C’est comme un programme qui roule en arrière-plan.

Maintenant, regardons l’exemple de code qui suit :


Public Class Form1

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 1000
        Timer1.Enabled = True
        Timer1.Start()
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As System.EventArgs) Handles Timer1.Tick
        Me.Text = Date.Now
    End Sub
End Class


La première fonction initie l’objet Timer1 et enregistre la propriété à 1000 millisecondes. C’est donc équivalent à 1 secondes. Je sais que beaucoup d’entre, travailler en millisecondes est déplaisant, mais c’est l’unité de mesure établie.

Ensuite, il faut s’assurer que le Timer soit activé. On met la valeur de Enable du Timer à vrai (true). Par défault, Enable est à faux lorsqu’on l’insère directement avec le Design Form. Puis la ligne Start démarre le Timer.

The first function initiates the Timer1 and set some values. The interval is the period.  If the interval is a 1000, the interval is set a 1 seconds. You see? The units are in milliseconds.
Then, make sure to enable your timer. By default, is set to false. Make sure is set to true if you want the timer to work.

Lorsque vous charger le programme, à toutes les une (1) seconde, la fonction Timer1_Tick est appelée et mets à jour l’entête du formulaire Windows. Ça donne une espèce d’horloge.
J’espère que c’est simple ce que je vous aie présenté.
Vous pouvez toujours utiliser le Timer pour des applications ou des macros dans Excel ou Word.


Référence :


Téléchargement : TimerSample.zip

Site web de Check Technologies : http://checktechno.ca


Procurer vous la même version de Visual Studio que le mien sur Amazon: Visual Studio 2010 Professional (Old Version)


lundi 22 octobre 2012

Comment utiliser une Listbox dans VB.NET

Comment utiliser une Listbox dans VB.NET


Ajouter le Listbox dans un formulaire. Décider de sa superficie en traçant un rectangle. Normalement, la Listbox s’appellera ListBox1.


ListBox dans Visual Basic

Ensuite, dans le code, on ajuste les propriétés. Je choisis de le faire au démarrage du formulaire. Vous pouvez aussi faire la même chose. J’ai utilisé la commande With pour faire différent (ça modifie que la présentation).



Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        With ListBox1
            .Enabled = True 'if the listox is enable or disabled
            .Sorted = True ' if you want ti list sorted
            .BorderStyle = BorderStyle.Fixed3D ' the border style
            .Visible = True
            .ScrollAlwaysVisible = True 'presence of scroll all time
            .MultiColumn = False 'add a new column if number of items reach max height
        End With

        ListBox1.Items.Add("allo1")
        ListBox1.Items.Add("allo2")
        ListBox1.Items.Add("allo3")
        ListBox1.Items.Add("allo4")
        ListBox1.Items.Add("allo5")
        ListBox1.Items.Add("allo1")
        ListBox1.Items.Add("allo2")
        ListBox1.Items.Add("allo3")
        ListBox1.Items.Add("allo4")
        ListBox1.Items.Add("allo5")
        ListBox1.Items.Add("allo1")
        ListBox1.Items.Add("allo2")
        ListBox1.Items.Add("allo3")
        ListBox1.Items.Add("allo4")
        ListBox1.Items.Add("allo5")

    End Sub

La ListBox est trié alphabétiquement. Les mots « allo1 » seront regroupés ensemble en premier, les « allo2 » suivront ensuite. Ça va fonctionner si tu ajouter des chaînes de caractères String.

Si vous lancer le code maintenant, vous allez remarquer la ListBox1 renseignée avec aucune sélection initiale. Cette présentation de la ListBox convient dans la majorité des cas.

Exemple de ListBox dans Visual Basic

Autrement, si vous voulez que la ListBox1 ait une sélection de départ, vous pouvez utiliser les propriétés SelectedIndex ou SelectedItem.

Soyez averti, les index peuvent changer à chaque fois que vous ajouter ou retirer un élément de la ListBox. C’est aussi de même si vous décider de trier une Listbox qui n’est pas triée. Alors, vous ne pouvez pas vous fier à la propriété SelectedIndex pour obtenir le résultat d’une sélection.



        ListBox1.SelectedIndex = 2 '0 is the first one, 2 is the third.





Vous pouvez utiliser SelectedItem pour obtenir la chaîne de caractères String listé dans la ListBox. Encore une fois, la chaîne de caractère String n’est pas nécessairement unique. Il faut être prudent pour que ne pas que votre programme réagisse incorrectement suivant le choix de son utilisateur. Remarquer aussi qu’en cas de doublons de String, le programme sélection toujours le premier rencontré dans la liste.




        ListBox1.SelectedItem = "allo3" 'will always select the first he encounter





On peut aussi agrémenter la sélection des items dans la ListBox1 en utilisation la propriété SelectionMode.


        ListBox1.SelectionMode = SelectionMode.MultiSimple 'no need to use shift or ctrl, only space or left-click
        ListBox1.SelectionMode = SelectionMode.MultiExtended  'no need to use shift or ctrl with left-click


Lorsque SelectionMode est égale à SelectionMode.MultiSimple, alors l’utilisateur n’aura qu’à utiliser la bouton de la souris pour sélectionner ou désélectionner des items de la ListBox1.

Lorsque SelectionMode est égale à SelectionMode.MultiExtended, l’utilisateur doit utiliser les touches CTRL ou MAJ (SHIFT) pour sélectionner ou désélectionner les items de la ListBox1.

C’est assez simple avec l’aide de Visual Basic Express 2010 ou avec Visual Studio 2010. Ouvrez votre  form1.vb [Design]. Double-cliquer la ListBox1. Vous devriez obtenir quelque chose le code suivant :



    Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged



    End Sub



Maintenant, mettez un MsgBox à l’intérieur de la fonction et faite afficher par exemple SelectedIndex.


    Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

        MsgBox(ListBox1.SelectedIndex)

    End Sub


Alors, lorsque vous changer la sélection dans la ListBox1, un message apparaît à l’écran et indique le numéro d’index de votre sélection.

Votre code devrait avoir l’air de ceci :



Public Class Form1
   
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        With ListBox1
            .Enabled = True 'if the listox is enable or disabled
            .Sorted = True ' if you want ti list sorted
            .BorderStyle = BorderStyle.Fixed3D ' the border style
            .Visible = True
            .ScrollAlwaysVisible = True 'presence of scroll all time
            .MultiColumn = False 'add a new column if number of items reach max height
        End With

        ListBox1.Items.Add("allo1")
        ListBox1.Items.Add("allo2")
        ListBox1.Items.Add("allo3")
        ListBox1.Items.Add("allo4")
        ListBox1.Items.Add("allo5")
        ListBox1.Items.Add("allo1")
        ListBox1.Items.Add("allo2")
        ListBox1.Items.Add("allo3")
        ListBox1.Items.Add("allo4")
        ListBox1.Items.Add("allo5")
        ListBox1.Items.Add("allo1")
        ListBox1.Items.Add("allo2")
        ListBox1.Items.Add("allo3")
        ListBox1.Items.Add("allo4")
        ListBox1.Items.Add("allo5")


        ListBox1.SelectedIndex = 2 '0 is the first one, 2 is the third.
        ListBox1.SelectedItem = "allo3" 'will always select the first he encounter

        ListBox1.SelectionMode = SelectionMode.MultiSimple 'no need to use shift or ctrl, only space or left-click
        ListBox1.SelectionMode = SelectionMode.MultiExtended  'no need to use shift or ctrl with left-click

    End Sub
    Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

        MsgBox(ListBox1.SelectedIndex)



    End Sub


End Class




Il existe une petite faiblesse dans le code. Lorsque vous démarrez le programme tel qu’il est le MsgBox est lancé avant que le formulaire soit complètement chargé. Ce n’est pas très sexy. Nous pouvons rendre le code un peu plus intelligent en plaçant une condition dans la fonction d’événement.


dimanche 21 octobre 2012

Comment utiliser une combobox

Comment utiliser une combobox


Ajouter le combobox dans un formulaire et redimensionner-le.

ComboxBox dans Visual Basic
Ensuite, dans le code, on ajuste les propriétés. Je choisis de le faire au démarrage du formulaire. Vous pouvez aussi faire la même chose.



    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        ComboBox1.BackColor = Color.Ivory
        ComboBox1.Enabled = True
        ComboBox1.Visible = True
        ComboBox1.FlatStyle = FlatStyle.Standard

    End Sub


Lorsque le combobox est initialisé lorsque les propriétés de départ sont satisfaisantes, nous pouvons ajouter des mots dans le combobox. Restons dans la même fonction de démarrage et ajoutons du texte après avoir ajusté ses propriétés.



    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        ComboBox1.BackColor = Color.Ivory
        ComboBox1.Enabled = True
        ComboBox1.Visible = True
        ComboBox1.FlatStyle = FlatStyle.Standard


        ComboBox1.Items.Add("John")
        ComboBox1.Items.Add("Peter")
        ComboBox1.Items.Add("Kevin")


    End Sub



Maintenant que vous avez mis des renseignements dans le combobox, il est bon qu’au démarrage du formulaire, un choix de texte soit déjà pré-sélectionné.





    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        ComboBox1.BackColor = Color.Ivory
        ComboBox1.Enabled = True
        ComboBox1.Visible = True
        ComboBox1.FlatStyle = FlatStyle.Standard


        ComboBox1.Items.Add("John")
        ComboBox1.Items.Add("Peter")
        ComboBox1.Items.Add("Kevin")

        ComboBox1.SelectedIndex = 2 'will display Peter
    End Sub


Vous pouvez aussi agrémenter l’utilisation du combobox en le triant alphabétiquement avec la commande shorted.





    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        ComboBox1.BackColor = Color.Ivory
        ComboBox1.Enabled = True
        ComboBox1.Visible = True
        ComboBox1.FlatStyle = FlatStyle.Standard


        ComboBox1.Items.Add("John")
        ComboBox1.Items.Add("Peter")
        ComboBox1.Items.Add("Kevin")

        ComboBox1.SelectedIndex = 2 'will display Peter

        ComboBox1.Sorted = True

    End Sub



Notez qu’après avoir trié la liste dans la combobox, l’index SelectedIndex est reinitialisé.


        ComboBox1.Sorted = True
        ComboBox1.SelectedIndex = 1 'will display Kevin




Pour accéder au texte sélectionné dans le combobox, on utilise la propriété Text.


        MsgBox(ComboBox1. Text)


Si vous êtes tenté de faire quelques manipulations avec les items dans la combobox, ayez en tête que c’est une collection bien ordinaire. Cette collection possède les éléments les plus normaux qu’on retrouve dans toutes les collections d’objets.

Pour ajouter :
Combobox1.items.add = “Obama”

Pour obtenir le nombre d’items:
Combobox1.items.count

Pour retirer in item selon son index:
Combobox1.items.Remove(2) ‘ pour retirer par exemple le 2e élément de la collection




Référence :