begin process at 2010 02 10 09:24:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

Selection d'un Item dans une ListView


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Selection d'un Item dans une ListView

vendredi 24 avril 2009 à 17:09:21 | Selection d'un Item dans une ListView

poland_power

Bonjour tout le monde,

je vais vous faire part de mon soucis en esperant que l'un de vous puisse m'aider et ainsi m'eviter de sombrer dans une folie furieuse.
j'ai vu plusieurs topics traitant de ce sujet, essayé tout ce qui etait proposé comme solution, mais sans succes.
alors je me permet de remettre le sujet a l'ordre du jour...

alors voila, j'ai une liste ListView (lvJobParametersList) dans un Panel dont je cherche a selectionner le premier element.

pour ca, j'ai ce bout de code:
[code]
lvJobParametersList.Select();
lvJobParametersList.Focus();
lvJobParametersList.Items[0].Focused = true;
lvJobParametersList.Items[0].Selected = true;
[/code]
a vrai dire, je pense que y a de l'inutil la dedans, mais en desespoir de cause j'ai tout tenté :x

bref,  j'ai 2 cas de figure:
1 - tout ca est utilisé dans un formulaire "a part entiere" (un fomulaire normal quoi) et ca fonctionne tres bien et je peux acceder a l'element selectionné par: lvJobParametersList.SelectedItems[0]
2 - mon Panel contenant ma ListView est utilisé dans une fenetre modale, et la... c'est le drame.

explication du drame:
lvJobParametersList.SelectedItems[0] me renvoit une exception (indice hors limites)
je passe donc tout ca au debugger avec des "watch" qui vont bien et la je me retrouve face a un obscur mystere du .NET Framework.
les 3 premiere lignes de mon bout de code ne semblent rien faire, c'est a dire que en arrivant sur lvJobParametersList.Items[0].Selected = true;, on a toujours:
lvJobParametersList.Focused : FALSE
lvJobParametersList.Items[0].Focused : FALSE
donc ca c'est deja pas terrible mais bon... c'est pas mon vrai probleme.

le gros gros probleme c'est surtout que une fois l'instruction lvJobParametersList.Items[0].Selected = true; executée, j'ai bien:
lvJobParametersList.Items[0].Selected :  TRUE
par contre, j'ai lvJobParametersList.SelectedItems.Count : 0

ce qui m'ammene a mon exception quand je tente d'acceder au premier element de lvJobParametersList.SelectedItems (logique)

pour info, au moment ou je fait mon select, j'ai bien des elements dans la ListView et il y a bien un premier Item a selectionner.

voila, merci de votre attention.
en esperant que vous puissiez m'aider, merci d'avance :)

samedi 25 avril 2009 à 00:40:48 | Re : Selection d'un Item dans une ListView

WishhhMaster

Salut,

Juste une question: est ce que ton code est dans le constructeur ou appelé parle constructeur de ta form ?
Si oui, essaye de le déplacer dans l'évènement Load de ta form.
lundi 27 avril 2009 à 16:08:22 | Re : Selection d'un Item dans une ListView

poland_power

Alors c'est un peu particulier, en fait pour rentrer plus dans le detail, le Panel dont je parlais et qui contient ma ListView est en fait dérivé d'un UserControl nommé BasicPanel, ca m'a induit en erreur.

Bref, ce control (BasicPanel) possede 2 methodes: Launch() et LaunchModal().

On appeler la methode Launch() d'une occurence de BasicPanel (ou d'une sous classe en l'occurence), celle ci se charge alors dans l'ecran principal de l'application. bon ca c'est le cas qui fonctionne...

Par contre quand on appelle la methode LaunchModal() d'une occurence de BasicPanel, le formulaire n'existe pas encore. C'est la methode LaunchModal() qui créé le formulaire, qui s'y ajoute et qui appelle la methode ShowDialog() du formulaire créé en lui passant l'ecran principal de l'application comme formulaire parent.
Ce qui fait que au moment ou mon bout de code s'execute, la ListViex n'est pas encore affichée...
Et c'est sans doute de la que venait le probleme car en executant mon bout de code au Load du formulaire, ca passe mieux.

Bon maintenant j'ai un autre soucis, mais deja j'ai avancé un peu.
Merci donc WishhhMaster pour cette proposition :)


Cette discussion est classée dans : code, listview, true, items, lvjobparameterslist


Répondre à ce message

Sujets en rapport avec ce message

Parcours de Listview [ par scoubidou944 ] bon ca compile pas :Qql'1 pourrait me dire ce qui déconne & si les formules du genre 'System.Windows.Forms.ListBox' C propre ou bien si y'a moyen de r ListView récupérer element texte : soluce [ par YOOP ] for(int i=0;i{ if(ListView.Items[i].Checked==true) { for(int h=1;h { ListViewItem temp1 = ListView.GetItemAt(h,i); temp1 = ListView.I Evenement checkBox [ par JLD2 ] Bonjour dans une de mes applis en C#, j'ai associé un événement "checkchanged" à une checkbox (code automatique de visual) et quand je clique sur la c ListView et couleur selection items [ par YLSEAGLE ] Bonjour à tous. Je cherche à changer la couleur de sélection d'un item dans une listview. Par défaut, celle ci est de couleur bleu avec le texte en bl Déplacer les items d'une listview [ par tahiti_bob ] Bonjour,Je voudrais savoir comment est ce que l'on fait pour déplacer les items d'une listview avec la souris ? (comme la playlist de Winamp )Merci d' LitView: desactiver l'affichage des images près des items [ par Fildomen ] Salutj'ai une listview, qui affiche les items en "Details", mais le problème, c'est qu'elle reserve toujours une ptite place près des items pour que j Listview et collection d'items [ par el_teedee ] Bonjour, je voudrais -pour rafraichir ma listview après un traitement- mettre la liste des lignes dans une collection de ListViewItem par exemple. J' Déplacer les items d'une listview sans drag&drop [ par dysko ] J'aimerais savoir si on peut retrier la listview à partir d'un index en particulier...sans redessiner tout le controle ou alors recréer une autre list ListView [ par emmanuel9 ] Bonjour à tous, J'ai un listview avec 50 items et je voudrais que quand j'appuis sur un bouton ca me séléctionne le 49 items. Donc ca pas de problèm listview sélection étendue [ par parabolus ] Bonjour J'ai une listview, (View=Details, Multiselect=true, FullRowSelect=true). Quand je pointe la souris sur une ligne et que je la déplace ensuite


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales