Listbox [Résolu]

fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 29 juin 2005 à 20:20 - Dernière réponse : fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention
- 5 juil. 2005 à 12:20
Bonsoir à tous,

Ce soir je cherche à faire un listbox comme dans le réglage de l'heure dans le panneau de config/ date et heure de windows.

Est ce que quelqu'un à une piste?

D'avance merci.
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
aogie 108 Messages postés vendredi 11 juillet 2003Date d'inscription 27 novembre 2007 Dernière intervention - 30 juin 2005 à 09:06
3
Merci
3 TextBox sont suffisants, un control de base en tant que container sur
lequel tu dessines toi-même la bordure, c'est plus propre.

Ensuite à la prise de focus de chaque TextBox : appel SelectAll().

La propriété MaxLength doit être réglée sur 2 et il t'appartient de vérifier le format numérique de chaque caractère entré...

WM_CHAR dans WndProc pour les caractères tapés et WM_PASTE pour les caractères collés.

En effet, KeyPress ne permet pas la modification du caractère,
uniquement l'annulation avec la propriété Handled... Le message
WM_CHAR, en revanche, accepte la modification de son WParam.



Pour une tabulation automatique : dans TextChanged, si (TextLength -
SelectionLength = = MaxLength) -> On donne le focus au contrôle
suivant.

Ainsi, si un caractère est déjà sélectionné alors que le contrôle
compte deux caractères : il est remplacé sinon on change de contrôle.

De plus, l'inscription sur l'événement KeyPress traite uniquement le
clavier mais pas le copier/coller. Avec TextChanged, tu te trouves plus
en aval et tu gères donc les deux cas.


-- AOGie --

Merci aogie 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de aogie
aogie 108 Messages postés vendredi 11 juillet 2003Date d'inscription 27 novembre 2007 Dernière intervention - 29 juin 2005 à 21:38
0
Merci
Il te suffit de créer un contrôle utilisateur avec bordure, contenant trois TextBox (sans bordure) séparés par ":". Ceux-ci doivent ensuite sélectionner tout leur contenu à la prise de focus et n'accepter que des caractères numériques !

-- AOGie --
Commenter la réponse de aogie
aogie 108 Messages postés vendredi 11 juillet 2003Date d'inscription 27 novembre 2007 Dernière intervention - 29 juin 2005 à 21:47
0
Merci
Je viens de m'apercevoir que tu parles d'un ListBox alors que je te réponds pour le contrôle qui gère le changement d'heure dans la fenêtre "Propriétés de Date et heure". De quel ListBox parle-tu ? (je n'ai vu que des ComboBox, TextBox...).

-- AOGie --
Commenter la réponse de aogie
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 29 juin 2005 à 21:53
0
Merci
Je disais Listbox à cause des fleches qui permettent d'incrémenter (ou décrémenter) j'essaie et te tiens au courant. @+
Commenter la réponse de fred65200
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 29 juin 2005 à 21:57
0
Merci
il faudrai un SpinButton où est il ?
Commenter la réponse de fred65200
aogie 108 Messages postés vendredi 11 juillet 2003Date d'inscription 27 novembre 2007 Dernière intervention - 29 juin 2005 à 22:05
0
Merci
Je pense que tu vas devoir envisager l'utilisation d'une VScrollBar ou créer un SpinButton fait "maison".

-- AOGie --
Commenter la réponse de aogie
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 29 juin 2005 à 22:14
0
Merci
Eh, Fred tu deviens un expert en C# en moins d'un mois ; )
Commenter la réponse de Lutinore
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 29 juin 2005 à 22:21
0
Merci
Je vais voir ce qu'est un VScrollBar et peut etre envisager le
SpinButton maison mais contrairement à ce que dit Lutinore, je ne crois
pas que je sois un expert.Je suis tout les soirs à appeler à l'aide.
Merci. Si je trouve une solution pas trop tordue, je vous en fais part.
@+
Commenter la réponse de fred65200
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 30 juin 2005 à 02:51
0
Merci
Bon j'ai galéré et je vais me coucher

4 textbox

1 pour le cadre

1 pour l'heure (pas de cadre)

1 pour les minutes (pas de cadre)

1 pour les seconde (pas de cadre)

2 labels pour les ":"

3 Vscrollbar avec un bringtofront sur l'evenement Enter des textbox



beaucoup plus facile avec

this.textBox1.Enter += new EventHandler(textBox1_Enter);

this.textBox2.Enter += new EventHandler(textBox2_Enter);

this.textBox3.Enter += new EventHandler(textBox3_Enter);



les lignes galères quand on n'est pas un expert. Après on s'en souvient!!



Par contre je n'arrive pas à avoir un format à deux chiffres dans les textbox qui se mofifient avec les VscrollBar.

Une idée???

Ni à selectionner les deux chiffres si on clique avec la souris dans le textbox.

Une autre idée??? avec l'evenement Enter et SelectionStart et SelectionLength,

ça marche pas. Ni Keypress, ni gotfocus..





Je pense utiliser un KeyDown pour n'accepter que les chiffres???

Bref A L'AIDE

@+
Commenter la réponse de fred65200
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 30 juin 2005 à 11:32
0
Merci
je test ça ce soir et te tiens au courant. Merci. @+
Commenter la réponse de fred65200
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 5 juil. 2005 à 12:20
0
Merci
merci aogie, j'ai mis un peu de temps à te repondre mais je m'en sors.
Commenter la réponse de fred65200

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.