Comment puis-je désactiver un bouton jusqu'à ce qu'un élément soit sélectionné dans une zone de liste?Activer/désactiver un bouton jusqu'à ce qu'un élément soit sélectionné dans une liste?
Répondre
Dans un premier temps vous désactivez le bouton:
button1.Enabled = false;
Ensuite, vous abonnez-vous à l'événement SelectedIndexChanged de la zone de liste. Bellow est le gestionnaire:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndex >= 0)
{
button1.Enabled = true;
}
else
{
button1.Enabled = false;
}
}
Vous êtes abonné à l'événement de l'IDE Visual Studio ou programatically comme ceci:
listBox1.SelectedIndexChanged+=new EventHandler(listBox1_SelectedIndexChanged);
Puisque vous mentionnez winforms, une façon consiste à définir la propriété du bouton IsEnabled = false dans l'explorateur de propriétés. Ajoutez ensuite un événement pour la listbox OnSelectionChanged. VS insère automatiquement le code derrière pour vous, alors vous pouvez mettre ceci dans le gestionnaire d'événements:
button1.IsEnabled = listbox1.SelectedIndex > 0;
Si vous utilisez WPF vous pouvez le faire de la même façon, mais il serait préférable d'utiliser Databinding.
Désolé, mais ne pas avoir une connaissance suffisante de C# pour comprendre ce que vous voulez dire. Pouvez-vous écrire tout le code dont j'ai besoin pour moi? (IsEnabled doenst work) – klopske
Il n'y a pas de programme IsEnabled sur la classe de boutons. Seulement 'Activé'. –
Quel cadre GUI utilisez-vous? Win32? GTK? Qt? – casablanca
quel type de technologie de présentation utilisez-vous, ASP.NET, winform, WPF? – Hunter
Désolé, mais j'utilise Win32 (Visual C#) – klopske