Principales respuestas
Agregar Items a un ComboBox y que no se repitan.

Pregunta
-
Hola que tal...
Como le puedo hacer para agregar Items a un ComboBox a través del texto que contenga un TextBox teniendo un Button agregue dicho Item, la verdad soy nuevo en esto de C#.
De todos modos les anexo como lo tenia.
private void ButtonAgregar_Click(object sender, EventArgs e)
{
if (TextBoxNombre == ComboBoxModelos.DataSource)
{
MessageBox.Show("Este Modelo ya Existe!");
}
else if (TextBoxNombre != ComboBoxModelos.DataSource)
{
ComboBoxModelos.Items.Add(TextBoxNombre.Text);
MessageBox.Show("Modelo" + " " + TextBoxNombre.Text + " " + "Agregado");
}
}De antemano Gracias!
Respuestas
-
Saludos gabriel
if (ComboBoxModelos.Items.Contains(TextBoxNombre.Text)) MessageBox.Show("Elemento ya existe"); else { ComboBoxModelos.Items.Add(TextBoxNombre.Text); MessageBox.Show("Elemento agregado"); }
.....también si quieres que haga distinción de mayúsculas y minúsculas (por ejemplo si agregas el elemento "prueba" y luego otro elemento "Prueba" son diferentes porque uno comienza con mayúsculas), puedes usar el siguiente código:
/*acá mandamos a contar los elementos que sean igual al que se escriba en TextBoxNombre.Text y le decimos que a ambos los convierte a mayúsucla (ToUpper) solo para hacer la comparación*/ int cantelementos = (from string i in ComboBoxModelos.Items where i.ToUpper() == TextBoxNombre.Text.ToUpper() select i).Count(); if (cantelementos > 0) MessageBox.Show("Elemento ya existe"); else { ComboBoxModelos.Items.Add(TextBoxNombre.Text); MessageBox.Show("Elemento agreegado"); }
También es importante aclarar que si usas la propiedad DataSource del combobox no puedes modificar los elementos atrvés de los Items del mismo sino que tendrías que modificar el datasource y volvérselo a asignar
- Editado Yerald Mora martes, 2 de octubre de 2018 19:44 Distinción de mayúsculas y minúsculas
- Propuesto como respuesta Blueh Scouth martes, 2 de octubre de 2018 19:49
- Marcado como respuesta Gabriel Quiroz miércoles, 3 de octubre de 2018 3:38
Todas las respuestas
-
Hola buenas tardes Gabriel
private void button1_Click(object sender, EventArgs e)
{
if (comboBox1.Items.Count>0)
{
for (int i = 0; i < comboBox1.Items.Count; i++)
{
if (textBox1.Text == comboBox1.Items[i].ToString())
{
MessageBox.Show("Existe");
return;
}
}
}
comboBox1.Items.Add(textBox1.Text);
}
-
Saludos gabriel
if (ComboBoxModelos.Items.Contains(TextBoxNombre.Text)) MessageBox.Show("Elemento ya existe"); else { ComboBoxModelos.Items.Add(TextBoxNombre.Text); MessageBox.Show("Elemento agregado"); }
.....también si quieres que haga distinción de mayúsculas y minúsculas (por ejemplo si agregas el elemento "prueba" y luego otro elemento "Prueba" son diferentes porque uno comienza con mayúsculas), puedes usar el siguiente código:
/*acá mandamos a contar los elementos que sean igual al que se escriba en TextBoxNombre.Text y le decimos que a ambos los convierte a mayúsucla (ToUpper) solo para hacer la comparación*/ int cantelementos = (from string i in ComboBoxModelos.Items where i.ToUpper() == TextBoxNombre.Text.ToUpper() select i).Count(); if (cantelementos > 0) MessageBox.Show("Elemento ya existe"); else { ComboBoxModelos.Items.Add(TextBoxNombre.Text); MessageBox.Show("Elemento agreegado"); }
También es importante aclarar que si usas la propiedad DataSource del combobox no puedes modificar los elementos atrvés de los Items del mismo sino que tendrías que modificar el datasource y volvérselo a asignar
- Editado Yerald Mora martes, 2 de octubre de 2018 19:44 Distinción de mayúsculas y minúsculas
- Propuesto como respuesta Blueh Scouth martes, 2 de octubre de 2018 19:49
- Marcado como respuesta Gabriel Quiroz miércoles, 3 de octubre de 2018 3:38
-
hola
>>Como le puedo hacer para agregar Items a un ComboBox a través del texto que contenga un TextBox teniendo un Button agregue dicho Item
si asignas un DataSource al combobox no puedes agregar items directamente al control, tienes que agregarlo al origen de datos
No puedes usar el Items.Add() o similar si el control tiene asignado el DataSource
Ademas un if con la propiedad DataSource tampoco aplica, No mencionas cual es al origend e datos, quizas un datatable o usas una base de datos, pero es contra esta que deberias validad la existencia y no contra el control
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina