2013-09-02 3 views
0

J'ai une rangée de zones de liste déroulante avec des valeurs qui doivent être activées/désactivées lorsqu'une certaine option est sélectionnée dans la zone de sélection de l'opérateur. Le problème est que le code désactive tous les contrôles du panneau et que le formulaire doit être rechargé pour réactiver les contrôles. Lorsque la liste déroulante sélectionnée n'a 'aucun' sélectionné, je veux désactiver tous les contrôles MAIS ma deuxième liste déroulante et aussi une case à cocher. Toute aide avec le code est très appréciée.Activation/Désactivation des contrôles sur la valeur comboBox

private void OperatorSelect_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     bool isEnabled = 
      (OperatorSelect.SelectedItem.ToString() != "(None)"); 
     foreach (Control cb in this.Controls) 
     { 
      cb.Enabled = !isEnabled; 

     } 
     this.comboBoxToStillShow = !isEnabled; 
     this.CheckboxToStillShow = !isEnabled; 

    }  

Actuellement, tous les contrôles sont désactivés, je besoin d'aide avec les deux autres contrôles à activer encore et tout le reste est désactivé. Merci

+0

Vous avez dit, deux autres commandes à activer encore, vous devez utiliser 'ce .comboBoxToStillShow = isEnabled; ' – sarwar026

Répondre

0

On dirait que votre comboBoxToStillShow et CheckboxToStillShow doit être activé tout le temps, alors que les sauter dans la boucle:

private void OperatorSelect_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    bool isEnabled = 
     (OperatorSelect.SelectedItem.ToString() != "(None)"); 
    foreach (Control cb in this.Controls) 
    { 
     if(cb == comboBoxToStillShow || cb == CheckboxToStillShow) continue; 
     cb.Enabled = !isEnabled; 
    }   
} 
Questions connexes