in .NET 3.5 Formulaires Windows J'ai une liste de réception avec "Caecchectes" = true. Est-il possible de résumer ou de désactiver certains éléments pour empêcher l'utilisateur de vérifier la boîte? P>
5 Réponses :
Vous devez définir la propriété Autocheck de la case à cocher FALSE. P>
Autocheck - Obtient ou définit une valeur indiquant si les valeurs cochées ou de contrôle de contrôle et l'apparence de la case à cocher sont automatiquement modifiées lorsque la case à cocher est cliquée. P> blockQuote>
En réalité, cela est utilisable uniquement pour la case à cocher Contrôle. P>
Vous devez rouler le vôtre pour cela. Gérer le listview code>'s
Événement code> Evénement - Si vous ne souhaitez pas qu'un élément particulier soit sélectionnable, procédez comme suit:
e.Item.Selected = false;
Vous pouvez utiliser les propriétés ListboxItem.Forecolor et UseItemStyleForSUMSEUMS pour que l'article ait l'air aisé. Utilisez SystemColors.GrayText pour choisir la couleur de thème pour les articles désactivés. Évitez de désactiver la sélection, il empêche l'utilisateur d'utiliser le clavier. Ne désactivez que la vérification de la case à cocher. Par exemple:
Merci, cela a travaillé pour moi, mais j'ai assigné E.NewValue à partir de l'enregistrement. Je voulais m'assurer que cela ne serait pas contrôlé, même s'il ne devait pas commencer.
J'ai pris la recommandation Passant Hans - bonne approche visuelle qui, dans mon cas désigne des articles non exploitables.
Voici un échantillon:
Utilisez ceci ou définissez le mode d'affichage pour afficher au lieu de modifier!
public void SetItemEnabled(ListViewItem item, bool enabled) { if (item != null) { List<ListViewControl> lvControls = this.ListViewControls.FindAll(FindListViewControl(item)); foreach (ListViewControl lvControl in lvControls) { if (lvControl.Control != null) { lvControl.Control.Enabled = enabled; } } } }