Besoin de vos idées pour mettre ne place une action

Résolu
Signaler
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010
-
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
-
Bonsoir,
débutant je le suis toujours alors je pose ma question ici :

j'ai mis en place une form pour mes utilisateurs pour les aiders à faire des captures d'imprimantes réseaux, et tout marche bien.
il peuvent choisir d'acceder à un partage soit à partir d'un PC du réseau (pour capturer une imprimante personnelle partagée)
ou à partir de la liste des imprimantes disponibles sur le serveur dédié à cet usage (les multifonctions et les copieurs).

c'est sur les imprimantes du serveur que j'aimerai essayer de mettre en place quelquechose mais je vois pas trop comment mis prendre pour commencer, alors je viens chercher votre aide :

Si l'utilisateur selectionne de capturer un spool du serveur , ça alimente une listview des spools disponibles, qu'il peut trier par batiment pour affiner (via combobox)

et pour leur enjoliver encore plus le truc, je me disais que ce serait sympa si au passage de la sourie sur un nom de spool dans la listview, ça faisait apparaitre dans la Form une image de l'imprimante en question, et quelques infos sur sa configuration (je les bichonnes mes utilisateurs...) 

Si vous pouvez me guider dans mon idée svp (je vous demande pas de me pondre le code tout fait, juste de me donner un chemin)

8 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Peut-etre une idée à creuser :

Dans ta listview, dans une seconde colonne, si c'est possible, ou alors dans un tableau ou une liste à coté, et pour chaque entrée de la listview, stocker le nom d'un fichier sur le serveur contenant toutes les informations sur ton imprimante et un lien vers l'image à afficher.

Ensuite sur l'évènement ItemMouseOver, tu récupère l'item survolé et donc le chemin vers le fichier correspondant. Tu ouvre le fichier, lit et affiche les info, récupère le chemin de l'image que tu vas ensuite charger pour l'afficher.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Regarde peut-etre du coté de l'évènement ItemMouseHover de la listview, dans le paramètre e de l'évènement tu va retrouver l'item pointé par la souris.

Sinon sur MouseMove, avec les coordonnées de la souris passées dans le paramètre e et la methode GetItemAt tu peux récupérer l'item sous la souris

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010

merci.

j'ai déja 2 colonnes dans la listview qui indiquent le nom et la localisation de l'imprimante : je passe par lecture du registre distant et je prend les valeurs "Share Name" et "Description" pour alimenter la listview (c'est facile et le contenu est facile à mettre à jour vu qu'il suffit de modifier les parametres du driver sur le serveur)

le coup du fichier texte par contre c'est bien : je vais créer un fichier succin par imprimante dans un repertoire du serveur, et le lire pour alimenter des labels (au debut je pensais à des labels pré remplis et passer par des .hide et .show mais c'est trop ingérable avec presque 100 spools sur mon serveur.)

Par contre je suis d'accord que la meilleure méthode d'apparition c'est le survol de la souris sur le nom du spool dans la listview plutot que d'attendre une sélection pour activer l'apparition, mais je ne connais pas du tout la fonction itemmouseover que je n'ai encore jamais utilisée => j'me lance dans les recherches

si vous avez des conseils / astuces d'utilisation , j'achete !
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010

Bonjour,

j'utilise donc le MouseHover et MouseLeave sur la listview, etça fonctionne bien en l'état

mais j'ai quand meme besoin d'un coup de pouce :

comment recuperer uniquement le string de l'item que je survole avec ma souris (pour affiner l'affichage d'une image dans un picturebox en fonction du nom de l'item) ?

merci
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
MouseMove et méthode HitTest

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010

Merci pour votre aide.
ça y est je le tiens. Pour ceux que ça interesse :

Private

Sub ListView1_ItemMouseHover(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.ListViewItemMouseHoverEventArgs)
Handles ListView1.ItemMouseHover

If InStr(e.Item.Text,
"Correctif") > 0
Then
PictureBox1.Show()

Else
PictureBox2.Show()

End
If

End sub

c'est un test "basique" que j'ai fait : j'affiche la liste des logiciels installés dans mon listview
et si le nom intégre "Correctif" j'affiche l'image 1
maintenant je vais developper le truc pour mon programme de capture d'imprimantes.

Merci !
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010

En fait casy , tu m'as donné la soluce dès le départ,
mais j'ai fait l'erreur de partir sur "MouseHover"
plutot que ItemMousehover...

erreur du débutant
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
la doc, y'a que ca de vrai

Renfield
Admin CodeS-SourceS- MVP Visual Basic