Ce sujet n'a pas encore été évalué - Évaluez ce sujet

CheckedListBox, classe

Mise à jour : novembre 2007

Affiche un objet ListBox dans lequel une case à cocher est affichée à gauche de chaque élément.

Espace de noms :  System.Windows.Forms
Assembly :  System.Windows.Forms (dans System.Windows.Forms.dll)

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[LookupBindingPropertiesAttribute]
public class CheckedListBox : ListBox
/** @attribute ComVisibleAttribute(true) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
/** @attribute LookupBindingPropertiesAttribute */
public class CheckedListBox extends ListBox
public class CheckedListBox extends ListBox

Ce contrôle affiche une liste d'éléments que l'utilisateur peut parcourir à l'aide du clavier ou de la barre de défilement sur le côté droit du contrôle. L'utilisateur peut placer une case à cocher pour un ou plusieurs éléments à la fois et les éléments activés peuvent être parcourus à l'aide de CheckedListBox.CheckedItemCollection et de CheckedListBox.CheckedIndexCollection.

Pour ajouter des objets à la liste au moment de l'exécution, assignez un tableau de références d'objets avec la méthode AddRange. La liste affiche ensuite la valeur de chaîne par défaut pour chaque objet. Vous pouvez ajouter des éléments individuels à la liste à l'aide de la méthode Add.

L'objet CheckedListBox prend en charge trois états pendant l'énumération CheckState : Checked, Indeterminate et Unchecked. Vous devez définir l'état Indeterminate dans le code parce que l'interface utilisateur pour CheckedListBox ne fournit pas de mécanisme permettant cela.

Si UseTabStops a la valeur true, CheckedListBox reconnaît et développe les caractères de tabulation dans le texte de l'élément, créant des colonnes. Ces taquets de tabulation sont prédéfinis et ne peuvent pas être modifiés. Pour utiliser des taquets de tabulation personnalisés, affectez à UseTabStops la valeur false, affectez à UseCustomTabOffsets la valeur true et ajoutez les valeurs personnalisées à la collection CustomTabOffsets.

Remarque :

Si la propriété UseCompatibleTextRendering a la valeur false, la propriété CustomTabOffsets sera ignorée et remplacée par des offsets de tabulation standard.

La classe CheckedListBox prend en charge les trois collections indexées suivantes :

Collection

Classe d'encapsulation

Tous les éléments contenus dans le contrôle CheckedListBox.

CheckedListBox.ObjectCollection

Les éléments activés (y compris les éléments dans l'état indéterminé), qui constituent un sous-ensemble des éléments contenus dans le contrôle CheckedListBox.

CheckedListBox.CheckedItemCollection

Index activés, constituant un sous-ensemble des index figurant dans la collection d'éléments. Ces index spécifient des éléments dans un état activé ou indéterminé.

CheckedListBox.CheckedIndexCollection

Les trois tables suivantes sont des exemples des trois collections indexées prises en charge par la classe CheckedListBox.

La première table donne un exemple de la collection d'éléments indexée dans le contrôle (tous les éléments contenus dans le contrôle).

Index

Élément

État d'activation

0

Objet 1

Unchecked

1

Objet 2

Checked

2

Objet 3

Unchecked

3

Objet 4

Indeterminate

4

Objet 5

Checked

La deuxième table donne un exemple de la collection indexée des éléments activés.

Index

Élément

0

Objet 2

1

Objet 4

2

Objet 5

La troisième table donne un exemple de collection indexée des index des éléments activés.

Index

Index de l'élément

0

1

1

3

2

4

Remarque   Vous ne pouvez pas lier de données à CheckedListBox. Pour cette opération, utilisez plutôt ComboBox ou ListBox. Pour plus d'informations, consultez Comment : lier un contrôle ComboBox ou ListBox Windows Forms aux données.

L'exemple ci-dessous illustre l'utilisation des méthodes, propriétés et collections d'un objet CheckedListBox : cet exemple est complet et prêt à l'exécution une fois qu'il est copié dans votre projet. Vous pouvez activer et désactiver des éléments, utiliser la zone de texte pour ajouter des éléments et une fois que vous avez cliqué sur le bouton d'enregistrement, désactiver les éléments activés.

namespace WindowsApplication1
{
   using System;
   using System.Drawing;
   using System.Collections;
   using System.ComponentModel;
   using System.Windows.Forms;
   using System.Data;
   using System.IO ;

   public class Form1 : System.Windows.Forms.Form
   {
      private System.Windows.Forms.CheckedListBox checkedListBox1;
      private System.Windows.Forms.TextBox textBox1;
      private System.Windows.Forms.Button button1;
      private System.Windows.Forms.Button button2;
      private System.Windows.Forms.ListBox listBox1;
      private System.Windows.Forms.Button button3;
        private System.ComponentModel.Container components;

      public Form1()
      {
            InitializeComponent();

         // Sets up the initial objects in the CheckedListBox.
            string[] myFruit = {"Apples", "Oranges","Tomato"};
         checkedListBox1.Items.AddRange(myFruit);

            // Changes the selection mode from double-click to single click.
         checkedListBox1.CheckOnClick = true;
      }

      protected override void Dispose( bool disposing )
	  {
		if( disposing )
		{
			if (components != null) 
			{
			  components.Dispose();
			}
		}
		base.Dispose( disposing );
	  }

      private void InitializeComponent()
      {
         this.components = new System.ComponentModel.Container();
         this.textBox1 = new System.Windows.Forms.TextBox();
         this.checkedListBox1 = new System.Windows.Forms.CheckedListBox();
         this.listBox1 = new System.Windows.Forms.ListBox();
         this.button1 = new System.Windows.Forms.Button();
         this.button2 = new System.Windows.Forms.Button();
         this.button3 = new System.Windows.Forms.Button();
         this.textBox1.Location = new System.Drawing.Point(144, 64);
         this.textBox1.Size = new System.Drawing.Size(128, 20);
         this.textBox1.TabIndex = 1;
         this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
         this.checkedListBox1.Location = new System.Drawing.Point(16, 64);
         this.checkedListBox1.Size = new System.Drawing.Size(120, 184);
         this.checkedListBox1.TabIndex = 0;
         this.checkedListBox1.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBox1_ItemCheck);
         this.listBox1.Location = new System.Drawing.Point(408, 64);
         this.listBox1.Size = new System.Drawing.Size(128, 186);
         this.listBox1.TabIndex = 3;
         this.button1.Enabled = false;
         this.button1.Location = new System.Drawing.Point(144, 104);
         this.button1.Size = new System.Drawing.Size(104, 32);
         this.button1.TabIndex = 2;
         this.button1.Text = "Add Fruit";
         this.button1.Click += new System.EventHandler(this.button1_Click);
         this.button2.Enabled = false;
         this.button2.Location = new System.Drawing.Point(288, 64);
         this.button2.Size = new System.Drawing.Size(104, 32);
         this.button2.TabIndex = 2;
         this.button2.Text = "Show Order";
         this.button2.Click += new System.EventHandler(this.button2_Click);
         this.button3.Enabled = false;
         this.button3.Location = new System.Drawing.Point(288, 104);
         this.button3.Size = new System.Drawing.Size(104, 32);
         this.button3.TabIndex = 2;
         this.button3.Text = "Save Order";
         this.button3.Click += new System.EventHandler(this.button3_Click);
         this.ClientSize = new System.Drawing.Size(563, 273);
         this.Controls.AddRange(new System.Windows.Forms.Control[] {this.listBox1,
                                                        this.button3,
                                                        this.button2,
                                                        this.button1,
                                                        this.textBox1,
                                                        this.checkedListBox1});
         this.Text = "Fruit Order";
      }

      [STAThread]
      public static void Main(string[] args) 
      {
         Application.Run(new Form1());
      }

      // Adds the string if the text box has data in it.
      private void button1_Click(object sender, System.EventArgs e)
      {
         if(textBox1.Text != "")
         {
            if(checkedListBox1.CheckedItems.Contains(textBox1.Text)== false)
               checkedListBox1.Items.Add(textBox1.Text,CheckState.Checked);
            textBox1.Text = "";
         }

      }
      // Activates or deactivates the Add button.
      private void textBox1_TextChanged(object sender, System.EventArgs e)
      {
         if (textBox1.Text == "")
         {
            button1.Enabled = false;
         }
         else
         {
            button1.Enabled = true;
         }

        }

      // Moves the checked items from the CheckedListBox to the listBox.
      private void button2_Click(object sender, System.EventArgs e)
      {
         listBox1.Items.Clear();
         button3.Enabled=false;
         for (int i=0; i< checkedListBox1.CheckedItems.Count;i++)
         {
            listBox1.Items.Add(checkedListBox1.CheckedItems[i]);
         }
         if (listBox1.Items.Count>0)
            button3.Enabled=true;

      }
        // Activates the move button if there are checked items.
      private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
      {
         if(e.NewValue==CheckState.Unchecked)
         {
            if(checkedListBox1.CheckedItems.Count==1)
            {
               button2.Enabled = false;
            }
         }
         else
         {
            button2.Enabled = true;
         }
      }

        // Saves the items to a file.
      private void button3_Click(object sender, System.EventArgs e)
      {   
         // Insert code to save a file.
         listBox1.Items.Clear();
         IEnumerator myEnumerator;
         myEnumerator = checkedListBox1.CheckedIndices.GetEnumerator();
         int y;
         while (myEnumerator.MoveNext() != false)
         {
            y =(int) myEnumerator.Current;
            checkedListBox1.SetItemChecked(y, false);
         }
         button3.Enabled = false ;
      }        
    }
}



import System.*;
import System.Drawing.*;
import System.Collections.*;
import System.ComponentModel.*;
import System.Windows.Forms.*;
import System.Data.*;
import System.IO.*;

public class Form1 extends System.Windows.Forms.Form
{
    private System.Windows.Forms.CheckedListBox checkedListBox1;
    private System.Windows.Forms.TextBox textBox1;
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.Button button2;
    private System.Windows.Forms.ListBox listBox1;
    private System.Windows.Forms.Button button3;
    private System.ComponentModel.Container components;

    public Form1()
    {
        InitializeComponent();
        // Sets up the initial objects in the CheckedListBox.
        String myFruit[] =  { "Apples", "Oranges", "Tomato" };
        checkedListBox1.get_Items().AddRange(myFruit);
        // Changes the selection mode from double-click to single click.
        checkedListBox1.set_CheckOnClick(true);
    } //Form1

    protected void Dispose(boolean disposing)
    {
        if (disposing) {
            if (components != null) {
                components.Dispose();
            }
        }
        super.Dispose(disposing);
    } //Dispose

    private void InitializeComponent()
    {
        this.components = new System.ComponentModel.Container();
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.checkedListBox1 = new System.Windows.Forms.CheckedListBox();
        this.listBox1 = new System.Windows.Forms.ListBox();
        this.button1 = new System.Windows.Forms.Button();
        this.button2 = new System.Windows.Forms.Button();
        this.button3 = new System.Windows.Forms.Button();
        this.textBox1.set_Location(new System.Drawing.Point(144, 64));
        this.textBox1.set_Size(new System.Drawing.Size(128, 20));
        this.textBox1.set_TabIndex(1);
        this.textBox1.add_TextChanged(new System.EventHandler(
            this.textBox1_TextChanged));
        this.checkedListBox1.set_Location(new System.Drawing.Point(16, 64));
        this.checkedListBox1.set_Size(new System.Drawing.Size(120, 184));
        this.checkedListBox1.set_TabIndex(0);
        this.checkedListBox1.add_ItemCheck(
            new System.Windows.Forms.ItemCheckEventHandler(
            this.checkedListBox1_ItemCheck));
        this.listBox1.set_Location(new System.Drawing.Point(408, 64));
        this.listBox1.set_Size(new System.Drawing.Size(128, 186));
        this.listBox1.set_TabIndex(3);
        this.button1.set_Enabled(false);
        this.button1.set_Location(new System.Drawing.Point(144, 104));
        this.button1.set_Size(new System.Drawing.Size(104, 32));
        this.button1.set_TabIndex(2);
        this.button1.set_Text("Add Fruit");
        this.button1.add_Click(new System.EventHandler(this.button1_Click));
        this.button2.set_Enabled(false);
        this.button2.set_Location(new System.Drawing.Point(288, 64));
        this.button2.set_Size(new System.Drawing.Size(104, 32));
        this.button2.set_TabIndex(2);
        this.button2.set_Text("Show Order");
        this.button2.add_Click(new System.EventHandler(this.button2_Click));
        this.button3.set_Enabled(false);
        this.button3.set_Location(new System.Drawing.Point(288, 104));
        this.button3.set_Size(new System.Drawing.Size(104, 32));
        this.button3.set_TabIndex(2);
        this.button3.set_Text("Save Order");
        this.button3.add_Click(new System.EventHandler(this.button3_Click));
        this.set_ClientSize(new System.Drawing.Size(563, 273));
        this.get_Controls().AddRange(new System.Windows.Forms.Control[] { 
            this.listBox1, this.button3, this.button2, this.button1, 
            this.textBox1, this.checkedListBox1});
        this.set_Text("Fruit Order");
    } //InitializeComponent

    /** @attribute STAThread()
     */
    public static void main(String[] args)
    {
        Application.Run(new Form1());
    } //main

    // Adds the string if the text box has data in it.
    private void button1_Click(Object sender, System.EventArgs e)
    {
        if (!textBox1.get_Text().Equals("")) {
            if (checkedListBox1.get_CheckedItems().Contains(textBox1.get_Text())
                == false) {
                checkedListBox1.get_Items().Add(textBox1.get_Text(), 
                    CheckState.Checked);
            }
            textBox1.set_Text("");
        }
    } //button1_Click

    // Activates or deactivates the Add button.
    private void textBox1_TextChanged(Object sender, System.EventArgs e)
    {
        if (textBox1.get_Text().Equals("")) {
            button1.set_Enabled(false);
        }
        else {
            button1.set_Enabled(true);
        }
    } //textBox1_TextChanged

    // Moves the checked items from the CheckedListBox to the listBox.
    private void button2_Click(Object sender, System.EventArgs e)
    {
        listBox1.get_Items().Clear();
        button3.set_Enabled(false);
        for (int i = 0; i < checkedListBox1.get_CheckedItems().get_Count(); 
            i++) {
            listBox1.get_Items().Add(
                checkedListBox1.get_CheckedItems().get_Item(i));
        }
        if (listBox1.get_Items().get_Count() > 0) {
            button3.set_Enabled(true);
        }
    } //button2_Click

    // Activates the move button if there are checked items.
    private void checkedListBox1_ItemCheck(Object sender, ItemCheckEventArgs e)
    {
        if (e.get_NewValue().Equals(CheckState.Unchecked)) {
            if (checkedListBox1.get_CheckedItems().get_Count() == 1) {
                button2.set_Enabled(false);
            }
        }
        else {
            button2.set_Enabled(true);
        }
    } //checkedListBox1_ItemCheck

    // Saves the items to a file.
    private void button3_Click(Object sender, System.EventArgs e)
    {
        // Insert code to save a file.
        listBox1.get_Items().Clear();
        IEnumerator myEnumerator;
        myEnumerator = checkedListBox1.get_CheckedIndices().GetEnumerator();
        int y;
        while ((myEnumerator.MoveNext() != false)) {
            y = (int)(System.Convert.ToInt32(myEnumerator.get_Current()));
            checkedListBox1.SetItemChecked(y, false);
        }
        button3.set_Enabled(false);
    } //button3_Click
} //Form1


Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.