Bonjour à tous,
Etat actuel
Sur une Form, je dispose d'un numericUpDown qui a pour valeur minimale '1' et maximale '31' (nombre de jours).
Mon objectif
Je souhaiterais afficher un MessageBox, via un if-else ou un try-catch, après l'entrée d'une valeur erronée.
Le problème
C# impose la valeur maximale après détection d'une valeur supérieure aux mini/maxi de ce champ, sans aucune notification visuelle ni sonore.
Mes essais
J'ai effectué une récupération de la valeur entrée par l'utilisateur et soumis à un if-else (voir code ci-dessous), mais C# ignore totalement ce test !
Nota : le code suivant fonctionne uniquement lorsque la valeur maxi est définie dans les Propriétés à, par exemple, 32, mais ça fait bizarre d'afficher une telle valeur pour le nombre de jours.
Ma question en 3 points
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int jourDébutBrut= Convert.ToInt32(nudJourDébut.Value); if ((jourDébutBrut>= 1) && jourDébutBrut<= 31)) { jourDébut = jourDébutBrut; } else { MessageBox.Show("Numéro de jour invalide", "Erreur"); nudJourDébut.Value = 1; }
Comment puis-je faire pour :
1. Imposer un contrôle personnalisé de la valeur ;
2. Réafficher la valeur minimale et non la maximale après détection de l'erreur ;
3. Afficher un MessageBox indiquant que la valeur a été corrigée.
Une piste de réflexion me suffira pour écrire le code correspondant !
Merci pour votre aide.
Partager