Exportar (0) Imprimir
Expandir todo

CheckedListBox (Clase)

Actualización: noviembre 2007

Muestra un objeto ListBox en el que se muestra una casilla a la izquierda de cada elemento.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en 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

Este control presenta una lista de elementos por los que el usuario puede navegar mediante el teclado o la barra de desplazamiento situada a la derecha del control. El usuario puede colocar una marca de verificación junto a uno o más elementos, y puede navegar por los elementos activados con CheckedListBox.CheckedItemCollection y CheckedListBox.CheckedIndexCollection.

Para agregar objetos a la lista en tiempo de ejecución, asigne una matriz de referencias a objetos con el método AddRange. De este modo la lista muestra el valor de cadena predeterminado para cada objeto. Es posible agregar elementos individuales a la lista con el método Add.

El objeto CheckedListBox admite tres estados a través de la enumeración CheckState: Checked, Indeterminate y Unchecked. Hay que establecer el estado de Indeterminate en el código, ya que la interfaz de usuario de CheckedListBox no proporciona ningún mecanismo para ello.

Si UseTabStops es true, CheckedListBox reconocerá y extenderá los caracteres de tabulación en el texto de un elemento, creando columnas. Estas posiciones de tabulación están preestablecidas y no pueden modificarse. Para utilizar las posiciones de tabulación personalizadas, establezca UseTabStops en false, establezca UseCustomTabOffsets en true y agregue los valores personalizados a la colección de CustomTabOffsets.

6b7xtahd.alert_note(es-es,VS.90).gifNota:

Si la propiedad UseCompatibleTextRendering es false, la propiedad CustomTabOffsets se omitirá y será reemplazada por desplazamientos de tabulaciones estándar.

La clase CheckedListBox admite las siguientes tres colecciones indizadas:

Colección

Clase encapsuladora

Todos los elementos incluidos en el control CheckedListBox.

CheckedListBox.ObjectCollection

Elementos activados (incluidos los elementos con estado indeterminado), que es un subconjunto de los elementos que contiene el control CheckedListBox.

CheckedListBox.CheckedItemCollection

Índices activados, que constituyen un subconjunto de los índices de la colección de elementos. Estos índices especifican elementos que están activados o en un estado indeterminado.

CheckedListBox.CheckedIndexCollection

Las tres tablas siguientes son ejemplos de las tres colecciones indizadas que admite la clase CheckedListBox.

La primera tabla proporciona un ejemplo de la colección indizada de elementos del control (todos los elementos que contiene el control).

Índice

Item

Estado de activación

0

Objeto 1

Unchecked

1

Objeto 2

Checked

2

Objeto 3

Unchecked

3

Objeto 4

Indeterminate

4

Objeto 5

Checked

La segunda tabla proporciona un ejemplo de la colección indizada de elementos activados.

Índice

Item

0

Objeto 2

1

Objeto 4

2

Objeto 5

La tercera tabla proporciona un ejemplo de la colección indizada de índices de elementos activados.

Índice

Índice de elemento

0

1

1

3

2

4

Nota   No es posible enlazar datos a CheckedListBox. Utilice ComboBox o ListBox en su lugar para esto. Para obtener más información, vea Cómo: Enlazar un control ComboBox o ListBox de formularios Windows Forms a datos.

En el ejemplo siguiente se muestra cómo utilizar los métodos, las propiedades y las colecciones de CheckedListBox. Se trata de un ejemplo completo que está listo para ejecutarse después de copiarlo en el proyecto. Se pueden activar y desactivar elementos, utilizar el cuadro de texto para agregar elementos y, una vez que se haya hecho clic en el botón para guardar, desactivar los elementos activados.

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


Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

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

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft