Obtenga el valor del elemento seleccionado de ListBox en C#

Syed Hassan Sabeeh Kazmi 12 octubre 2023
  1. Utilice la propiedad ListBox.SelectedValue para obtener el valor del elemento seleccionado de ListBox en C#
  2. Utilice la propiedad ListBox.SelectedItem para obtener el valor del elemento seleccionado de ListBox en C#
  3. Utilice el método GetItemText() para obtener el valor del elemento seleccionado de ListBox en C#
Obtenga el valor del elemento seleccionado de ListBox en C#

Este artículo le enseñará cómo obtener mediante programación el valor del elemento seleccionado de un control ListBox. En C#, la propiedad SelectionMode del control ListBox tiene dos valores posibles Single y Multiple.

El modo Single le permite seleccionar un solo elemento del control ListBox. En general, hay varias formas de obtener el valor del elemento seleccionado de ListBox en C#.

Utilice la propiedad ListBox.SelectedValue para obtener el valor del elemento seleccionado de ListBox en C#

La propiedad SelectedValue es un medio alternativo de vinculación. Puede obtener los diferentes valores de un objeto o elemento seleccionado en un ListBox.

La propiedad SelectedValuePath juega un papel importante en la selección de un valor de un ListBox. Por ejemplo, si su ListBox está vinculado a una colección de objetos de categoría, cada uno de los cuales tiene las propiedades ID, Name y Context, SelectedValuePath = Name hará que el valor del Name de la Categoría seleccionada propiedad que se devolverá en el SelectedValue.

// create a `button1` button and a `listBox1` listbox in your C# project's `Form1`

using System;
using System.Windows.Forms;

namespace ListboxSelectedValue {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e) {
      // add items and values to the `listBox1` listbox
      listBox1.Items.Add(new ListItem { Name = "Item1", Value = 1 });
      listBox1.Items.Add(new ListItem { Name = "Item2", Value = 2 });
      listBox1.Items.Add(new ListItem { Name = "Item3", Value = 3 });
      listBox1.Items.Add(new ListItem { Name = "Item4", Value = 4 });
    }

    // create a class to add values and text to the `listBox1` listbox
    public class ListItem {
      public string Name { get; set; }
      public int Value { get; set; }

      public override string ToString() {
        return Name;
      }
    }

    private void button1_Click(object sender, EventArgs e) {
      // to get the value when a listBox1 item is selected
      var value = ((ListItem)listBox1.SelectedItem).Value;

      // to display the selected value
      MessageBox.Show("The value of your selected item: " + value);
    }
  }
}

Producción :

*select an item from the listbox item2*
*press button1*

The value of your selected item: 2

Utilice la propiedad ListBox.SelectedItem para obtener el valor del elemento seleccionado de ListBox en C#

La propiedad ListBox.SelectedItem puede obtener o establecer el valor de un elemento seleccionado de ListBox. Si desea obtener la posición y el valor del índice del elemento actualmente seleccionado en un ListBox, use la propiedad SelectedIndex.

En C#, la propiedad SelectedItem devuelve el objeto completo al que está vinculado su ListBox o los elementos que contiene. Solo le permite vincular un objeto completo a la propiedad a la que está vinculado ListBox, no el valor de una sola propiedad en ese objeto (como una propiedad ID de un objeto Categoría).

// create a `button1` button and a `listBox1` listbox with items
// use the following code in your C# form's `button1_Click` event

private void button1_Click(object sender, EventArgs e) {
  // to retrive the object from listbox and store it into a string variable
  string curItem = listBox1.SelectedItem.ToString();

  // to show the value of selected item stored as a string
  MessageBox.Show("Your selected item: " + curItem);
}

Producción :

*select item3 from the listbox and press button1*

Your selected item: item3

Utilice el método GetItemText() para obtener el valor del elemento seleccionado de ListBox en C#

El método GetItemText en C# devuelve la representación textual del elemento seleccionado en un ListBox. El valor devuelto por GetItemText(Object) es el valor del método del elemento ToString.

Cree un Form1 en su proyecto de C#, que contiene un ListBox listBox1 y un botón button1. Luego, pegue el siguiente código en su evento button1_Click para recuperar el valor del elemento seleccionado en un ListBox:

private void button1_Click(object sender, EventArgs e) {
  // to get the value when a listBox1 item is selected
  string text = listBox1.GetItemText(listBox1.SelectedItem);

  // to display the selected value
  MessageBox.Show("The value of your selected item: " + text);
}

Producción :

*select item4 from the listbox and press button1*

The value of your selected item: item4
Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub