Site:  Cours VB.net  
4.21 Icône de l'application

 Barre de taches,

Créer un raccourci,

Lancer le programme au démarrage,

 Numéro de version.

 

.

En VB 2005.

Icône de l'application

Pour avoir une icône liée à notre application, nous pouvons le faire au travers de l’onglet « Application » (dans les propriétés du projet) au niveau « Icône ». Remarquez que nous retrouvons les icônes importées dans les ressources projets

 

 

Bouton dans la barre de tache:

Comment mettre un bouton correspondant à la form dans la barre de tache?  

Mettre la propriété ShowInTaskBar de la form à True.

Il est préférable de le faire pour une seule form de l'application.

 

 

Icône dans la barre de processus: NotifyIcon

Comment mettre une petite icône dans la barre de processus? Exemple : Mettre une icône bleu dans la barre de tache avec une info bulle indiquant le nom du programme (Ici: LDF).

Le Framework .Net 2.0 dispose de composants vous permettant d’ajouter très rapidement cette fonctionnalité. Ce sont le NotifyIcon et le ContextMenuStrip.

 

Dans la fenêtre « ToolBox », glissez un composant « NotifyIcon » sur notre formulaire. Il apparaît un composant NotifyIcon1 sous le formulaire:

 

 

Dans la fenêtre de propriétés de NotifyIcon1, donner à sa propriété « Text » la valeur «LDF» ; ceci correspond à l’info bulle qui s’affiche lorsque le pointeur de la souris vient se positionner au dessus de l’icône, dans la barre de processus.

Pour indiquer l'icône à utiliser dans la barre de tache:

Click droit sur le composant NotifyIcon1 en bas du formulaire, puis choisir une icône.(Fichier avec extension .ico)

Par code dans FormLoad par exemple: NotifyIcon1.Icon = MyIcone.ico

Noter que dans la fenêtre de propriétés on ne peut pas changer l'icône.

 

Création du menu associé à l’icône de la barre de tache.

L’idée à présent est de créer un menu contextuel sur l’action « click droit » de notre icône de notification.

Déposez un composant « ContextMenuStrip » sur notre formulaire dans la partie Design. Pour associer les 2 composants, dans les propriétés de « NotifyIcon1 »,  il suffit d' affecter à la propriété « ContextMenuStrip »  le composant « ContextMenuStrip1 ».


 Pour définir les menus du « ContextMenuStrip », il suffit de cliquer sur le composant
« ContextMenuStrip » pour faire apparaître un menu (en mode design uniquement). Celui qui sera visible dans la barre de tache en cours d'exécution.

 

Il suffit de remplir le menu comme d'habitude. On ajoute par exemple 'Ouvrir' et 'Fermer'.

En double-cliquant sur le menu, vous générez automatiquement  la procédure évènement dans la partie Code.

 Exemple de code pour 'Ouvrir' et 'Fermer'.

Private Sub OuvrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OuvrirToolStripMenuItem.Click

    If Me.WindowState = FormWindowState.Minimized Then

        Me.WindowState = FormWindowState.Normal

    End If

End Sub

 

Private Sub FermerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FermerToolStripMenuItem.Click

    Application.Exit()

End Sub

 

Au niveau du  menu « Ouvrir », nous testons si l’application est réduite dans la barre des tâches. Si c’est le cas nous l’affichons normalement. Sur l’évènement « Fermer », nous allons tout simplement quitter l' application.

 

Créer un raccourci sur le bureau:

 

'Il faut d'abord ajouter la référence wshom.ocx qui est dans C:\Windows\System32

(menu Projet=>Propriétés de.. Références , bouton Ajouter, Onglet Parcourir, aller dans C:\Windows\System32, cliquer sur wshom.ocx puis Ok) 

 

Exemple: créer un raccourci sur le bureau avec l'icône ''euro.ico', comme texte LDF et qui lance c:\Program Files\LDF\ldf.exe

 

Dim Bureau As IWshRuntimeLibrary.WshShell

Dim Raccourci As IWshRuntimeLibrary.WshShortcut

Dim Nom As String

Bureau = New IWshRuntimeLibrary.WshShell

'   Chemin et nom du raccourci

Nom = My.Computer.FileSystem.SpecialDirectories.Desktop & "\LDF.lnk" 'pour 'LDF'

Raccourci = CType(Bureau.CreateShortcut(Nom), IWshRuntimeLibrary.WshShortcut)

'   Cible à exécuter

Raccourci.TargetPath = "c:\Program Files\ldf\ldf.exe"

'   Icône à utiliser

Raccourci.IconLocation = "C:\WINLDF\Icone\euro.ico"

'   Enregistrement du raccourci

Raccourci.Save()



Lancer le programme au démarrage de Windows:

Pour cela, il faut dans le registre (Software\Microsoft\Windows\CurrentVersion\Run) ajouter le nom du programme.

Imports Microsoft.Win32 'en haut du module.

Dim obj_RegistryKey As RegistryKey

obj_RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)

obj_RegistryKey.SetValue("LDF", "C:\Program Files\LDF.exe")

Voir aussi le chapitre sur le registre.

 

Numéro de version:

Dans les propriétés du programme, sous l'onglet "Application" un bouton "Informations de l'assembly" permet d'accéder à 2 numéros de version et de les modifier directement:

- Version de l'assembly
on y accède dans le code par My.Application.Version.Info

- Version de fichier
on y accède  dans le code par My.Application.Productversion

(on ajoute .ToString pour afficher.)

Dans l'onglet "Publier" on gère

-la Version de publication+++

Publier= créer  dans le répertoire /publish/ les fichiers d'installation.

avec 4 nombres: Principale, Secondaire, build, révision

On modifie à la main les numéros de version principale, secondaire et Build

Si 'Incrémenter automatiquement le numéro de révision' est cochée, la révision est automatiquement incrémentée pour chaque publication: c'est la release qui est incrémentée à chaque fois que l'on 'publie'  (menu 'générer' puis 'Publier' , ce qui crée  dans le répertoire /publish/ les fichiers d'installation, on voit d'ailleurs dans ce répertoire des noms contenant la version LDF_1_1_0_1 par exemple).

On y accède  dans le code par My.Application.Deployment.CurrentVersion mais attention  cela fonctionne avec la version exécutable installée (apparemment pas dans l'IDE)

 

Pour un logiciel, la version 1.00 correspond a la première version stable. On a donc souvent des versions du type 0.8 qui sont encore des bêtas

Le numéro de version ne peut que s'incrémenter de droite a gauche.


Si on  modifie complètement l'interface ou une grosse partie du logiciel ... la version 1.0.0.0 devient alors v2.0.0.0 (version principale)

Si on ajoute quelques petites fonctionnalisées a notre version 1.1.0.0 elle devient alors v1.2.0.0 (version secondaire)

Le build  est modifié pour différencier les versions alpha et bêta.

alpha = build test, tests fait par le développeur, débouchant ensuite sur le release test.
bêta = release test, tests fait par le public ou par des bêta-testeurs, débouchant alors sur une final release.

La révision est modifiée à chaque publication (chaque nouvelle version) même après une petite modification.