2010-11-08 15 views

Répondre

4

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); 
0

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.

+0

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

+1

Il n'y a pas de programme IsEnabled sur la classe de boutons. Seulement 'Activé'. –