J'essaie d'afficher le résultat d'une instruction if qui est basée sur l'option sélectionnée dans une zone de liste déroulante de formulaire Windows. Je rencontre des problèmes lorsque le statut if est placé dans sa propre classe séparée du formulaire et renvoie toujours la valeur else. J'ai rendu le combobox public. Mon code est le suivant.Impossible de récupérer les données de la liste déroulante.
public void button1_Click(object sender, EventArgs e)
{
xRayData xRayData1 = new xRayData();
string shiftChangeValue;
shiftChangeValue = xRayData1.shiftChange();
label2.Text = shiftChangeValue;
}
public string shiftChange()
{
frmSWChange frmSWChange1 = new frmSWChange();
string shiftLetter;
if (frmSWChange1.cbShift.Text == "Day")
{
shiftLetter = "D";
}
else if (frmSWChange1.cbShift.Text == "Night")
{
shiftLetter = "N";
}
else if (frmSWChange1.cbShift.Text == "Morning")
{
shiftLetter = "M";
}
else
{
shiftLetter = "ERROR";
}
return shiftLetter;
}
Hey merci pour le commentaire, mais une fois que je change les valeurs .SelectedText je suis toujours retourne toujours la valeur d'erreur – fanle
Pouvez-vous debug et regardez ce qui est stocké dans 'SelectedText'? Peut-être que tes cordes sont différentes. – Samich
Où faites-vous réellement le ShowDialog() du Formulaire "frmSWChange1"? Dans le constructeur de frmSWChange? Ce serait bien de concevoir le formulaire "frmSWChange" d'une manière qui contienne une propriété publique avec la valeur sélectionnée. Cela aiderait à déboguer, à réutiliser le formulaire et à découpler -> rend votre vie plus facile. – fixagon