Je développe actuellement une application C#.Enums et Combo Boxes en C#
Je dois utiliser une énumération avec une liste déroulante pour obtenir le mois sélectionné. Je les éléments suivants pour créer l'ENUM:
enum Months
{
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};
J'INITIALISER alors le combobox en utilisant:
cboMonthFrom.Items.AddRange(Enum.GetNames(typeof(Months)));
Ce morceau de code fonctionne très bien mais le problème est lorsque je tente d'obtenir le ENUM sélectionné valeur pour le mois sélectionné
pour obtenir la valeur du recenseur de la zone de liste déroulante, je l'ai utilisé comme suit:
private void cboMonthFrom_SelectedIndexChanged(object sender, EventArgs)
{
Months selectedMonth = (Months)cboMonthFrom.SelectedItem;
Console.WriteLine("Selected Month: " + (int)selectedMonth);
}
Toutefois, lorsque j'essaie d'exécuter le code ci-dessus, une erreur est survenue indiquant qu'une exception de première chance de type System.InvalidCastException
s'est produite.
Ce que j'ai mal fait.
Merci pour toute aide que vous pouvez fournir
excellent qui a parfaitement fonctionné. Merci – Boardy
Il n'est pas nécessaire d'insérer des chaînes dans la liste déroulante, puis de les analyser de nouveau en valeurs 'Mois'. Il suffit de stocker les valeurs 'Months'. – Timwi
Vous n'êtes pas censé stocker des valeurs de chaîne dans une zone de liste déroulante et les récupérer en tant qu'énumérations. Vous devez soit ajouter des valeurs enum en tant qu'élément de zone de liste déroulante, soit les obtenir en tant que chaîne et convertir en énumération. C'est pourquoi j'ai suggéré de faire le dernier. – SadullahCeran