Bonjour
J'aimerai dès qu'on sélectionne après le dernier item d'un listbox s'il n'y a rien d'éviter de voir mon programme planter (sélection hors indice) !
merci
de votre inspiration
Bonjour
J'aimerai dès qu'on sélectionne après le dernier item d'un listbox s'il n'y a rien d'éviter de voir mon programme planter (sélection hors indice) !
merci
de votre inspiration
Il suffit de catcher l'exception...
Avec un try
except mais il n'y a pas une autre solution ?
sans gérer les exceptions ?
Comment peut-on sélectionner un item qui n'existe pas ?
Normalement, ItemIndex < Items.Count![]()
Je vois bien qu'il n'ya pas d'items après mon dernier item
dans mon listbox mais j'aimerai anticiper
si l'utilisateur clique par inadvertance dans la zone blanche de la listbox où rien ne figure et éviter ainsi un plantage !
C'est à cela que sert les try ... Except.
ok j'ai pas le choix
je pensais pouvoir y échapper
merci à vous deux
Bah si tu as le choixEnvoyé par bertrand_declerck
Quel code est exécuté quand l'utilisateur clique dans le listebox
Voilà le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 statusbar1.Panels[1].text := ListBox1.Items[ListBox1.itemindex]; if statusbar1.Panels[1].Text <> '' then begin form1.Listingdesimpays1.Enabled := true; end;
dès qu'on a choisit un élément de ma listbox, un bouton devient accessible !
Si tu cliques sur une zone vide, itemindex vaut -1, donc dans ce cas il ne faut pas acceder aux items, c'est tout.
Envoyé par cpdump
itemindex est le rang-1 de l'item sélectionné.
Si itemindex vaut -1, c'est qu'aucun n'est sélectionné,
Mais
sauf à commencer par désélectionner tout item (par ex dans un MouseOver), si on clique sur 1 item puis dans la zone blanche, l'item reste sélectionné.
Ceci dit, je continue de m'étonner qu'un clic sur la zone blanche fait planter le prog.
Partager