none
Crear combobox y preseleccionar una opción RRS feed

  • Pregunta

  • Saludos;

    He creado un combobox en mi formulario, a este le he agregado tres item los cuales son:

    Seleccione una opción

    Opción A

    Opción B

    Como hago para que al momento de cargar el formulario, se muestre en el combobox el texto "Seleccione una opción" y luego cuando haga clic en el botón OK si no se ha seleccionado una opción entonces emitir un mensaje de error y colocar el foco en el combobox para que seleccione una de las opciones.

    Desde ya mil gracias.


    Mientras mas aprendo mas quiero aprender

    viernes, 23 de octubre de 2015 15:09

Respuestas

  • Hola

    Podrias probar con esto

    Combo.SelectedText ="Selecciona una opcion";

    O seleccionar por indice

    comboBox1.SelectedIndex= 0;

    Como es el primer elemento tiene índice cero.

    Saludos

    viernes, 23 de octubre de 2015 15:44
  • Mira este ejemplo:

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
            ComboBox1.Items.Add("Seleccione una opción...")
            ComboBox1.Items.Add("Blanco")
            ComboBox1.Items.Add("Negro")
            ComboBox1.SelectedIndex = 0
        End Sub
    
        Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            If ComboBox1.Items.Count > 2 AndAlso ComboBox1.SelectedIndex > 0 Then
                ComboBox1.Items.RemoveAt(0)
            End If
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            If ComboBox1.Items.Count > 2 AndAlso ComboBox1.SelectedIndex = 0 Then
                MessageBox.Show("Seleccione una opción")
                ComboBox1.Focus()
            Else
                ' Los datos son correctos
            End If
        End Sub

    En el Form_Load se realiza la carga del ComboBox.

    En el evento SelectedIndexChanged se elimina la primera opción (la del texto "Seleccione una opción") que ya no tiene sentido si el usuario ya ha realizado una selección.

    En el evento click del botón se comprueba que el usuario haya seleccionado alguna opción válida.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    viernes, 23 de octubre de 2015 19:59

Todas las respuestas

  • Hola

    A tu combo antes de llenarlo dale un combobox.items.add("Selecciona una opcion");

    En tu evento verifica

    if (comboBoxTest.Text=="Selecciona una opcion"){

    MessageBox.show("Seleccione una opcion");

    comboBoxTest.focus();

    }

    Saludos

    viernes, 23 de octubre de 2015 15:21
  • Hola Norberto;

    El combobox lo he llenado diretamente por codigo, es decir, en la propiedad Items le he colocado las opciones:

    Seleccione una opción

    Blanco

    Negro

    Entonces lo que necesito es que al momento de cargarse el formulario en el combobox aparezca como texto seleccionado Seleccione una opción y luego a momento de validar pregunto si el combobox.SelectedIndex= -1 indicarle al usuario que debe seleccionar una opción.

    Espero haberme explicado mejor.

    Gracias por adelantado.


    Mientras mas aprendo mas quiero aprender

    viernes, 23 de octubre de 2015 15:34
  • Hola

    Podrias probar con esto

    Combo.SelectedText ="Selecciona una opcion";

    O seleccionar por indice

    comboBox1.SelectedIndex= 0;

    Como es el primer elemento tiene índice cero.

    Saludos

    viernes, 23 de octubre de 2015 15:44
  • Utiliza la propiedad placeholder del combo.  placeholder="Seleccione..."
    viernes, 23 de octubre de 2015 15:45
  • Saludos Javyjaja;

    Esa propiedad está el Visual Studio Express 2015?

    No la encuentro.

    Gracias mil


    Mientras mas aprendo mas quiero aprender

    viernes, 23 de octubre de 2015 19:19
  • Mira este ejemplo:

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
            ComboBox1.Items.Add("Seleccione una opción...")
            ComboBox1.Items.Add("Blanco")
            ComboBox1.Items.Add("Negro")
            ComboBox1.SelectedIndex = 0
        End Sub
    
        Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            If ComboBox1.Items.Count > 2 AndAlso ComboBox1.SelectedIndex > 0 Then
                ComboBox1.Items.RemoveAt(0)
            End If
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            If ComboBox1.Items.Count > 2 AndAlso ComboBox1.SelectedIndex = 0 Then
                MessageBox.Show("Seleccione una opción")
                ComboBox1.Focus()
            Else
                ' Los datos son correctos
            End If
        End Sub

    En el Form_Load se realiza la carga del ComboBox.

    En el evento SelectedIndexChanged se elimina la primera opción (la del texto "Seleccione una opción") que ya no tiene sentido si el usuario ya ha realizado una selección.

    En el evento click del botón se comprueba que el usuario haya seleccionado alguna opción válida.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    viernes, 23 de octubre de 2015 19:59
  • Utiliza la propiedad placeholder del combo.  placeholder="Seleccione..."
    Esa propiedad no funciona en dropdownlist

    Jose

    miércoles, 20 de julio de 2016 10:17