2012-06-23 40 views
7

Estoy teniendo un problema con un cuadro combinado aquí. Lo que hice fue un cuadro combinado, añadí artículos usando comboBox1.Items.Add("Something");. Ahora hice un cuadro de texto y lo que necesito es que cuando selecciono algo del cuadro combinado, el cuadro de texto cambie de acuerdo con el elemento seleccionado en el cuadro combinado. Lo que pensé que haría esCombo Box if declaración

if(comboBox1.SelectedItem.ToString() == "Something") 
{ 
    textBox1.Text = "Something"; 
} 

Pero no funciona por alguna razón, he intentado tanto sin ToString() y con todavía no está funcionando.

+1

es esto WPF, WinForm, ASP.NET ?? etiquetarlo correctamente – Damith

+2

¿Cuál es el valor de la llamada a .ToString? –

Respuesta

3

Intente utilizar: comboBox1.SelectedText

if(comboBox1.SelectedText == "Something") 
{ 
     textBox1.Text = "Something"; 
} 
+0

Sí. Para aclarar, SelectedItem es un elemento, no un texto. –

1

Ponga su código en comboBox1_SelectedIndexChanged caso

if(comboBox1.SelectedItem.Value.ToString() == "Something") 
{ 
    textBox1.Text = "Something"; 
} 
else 
{ 
    textBox1.Text = ""; 
} 

o una versión consice

textBox1.Text = 
comboBox1.SelectedItem.Value.ToString() == "Something" ? "Something" :""; 
+0

Gracias a todos por su ayuda – user1476523

+0

@ user1476523: ¿Qué respuesta funcionó para usted? –

0

probar este

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      if (comboBox1.SelectedItem.ToString() == "Something") 
      { 
       textBox1.Text = "Something"; 
      } 
     } 
+0

intente lo siguiente: private void ComboBox1_SelectedIndexChanged (object sender, EventArgs e) { si (== ComboBox1.Text "algo") { textBox1.Texto = "Algo"; } } – KF2

+0

Utilicé el mismo código que antes pero en ComboBox SelectedIndexChange y funcionó, estaba escribiendo en textBox1_Click evvent handler – user1476523

1

Haga doble clic en su cuadro combinado y generará el evento para usted (SelectedIndexChanged de forma predeterminada). ponga su código dentro del evento generado. Cuando cambia el valor seleccionado de combobox, puede ver que el valor del cuadro de texto cambie en consecuencia.

si necesita mostrar cuadro combinado valor seleccionado en el cuadro de texto, se puede poner debajo de código dentro de evento generado

textBox1.Text = comboBox1.SelectedItem.ToString(); 
+0

si agrega cadena como elemento, esto está funcionando bien, selectedItem es una cadena desde OP que agrega 'comboBox1 .Items.Add ("Algo"); ' – Damith

+0

Sí, lo siento, estaba equivocado. –

1

Oh encontró el problema. Estaba poniendo el código en la sección equivocada (en la sección de textoBOx_click): P

0

De acuerdo con su pregunta, supongo que cualquiera que sea el selectedItem es que desea mostrarlo en el TextBox. Así que, ¿por qué no se utiliza este:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    textBox1.Text = comboBox1.SelectedText.ToString(); 
} 
0
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (comboBox1.SelectedItem.ToString() == "M.Naveed") 
     { 
      textBox1.Text = textBox1.Text + ("Networking"); 
      textBox2.Text = textBox2.Text + ("Networking"); 
      textBox1.Text = textBox1.Text + ("mobile"); 
      textBox2.Text = textBox2.Text + ("mobile"); 
      ListViewItem li = new ListViewItem("Networking"); 
      li.SubItems.Add("mobile"); 
      listView1.Items.Add(li); 


     } 
     else if (comboBox1.SelectedItem.ToString() == "Zeeshan") 
     { 
      textBox1.Text = textBox1.Text + ("Networking"); 
      textBox2.Text = textBox2.Text + ("Networking"); 
      textBox1.Text = textBox1.Text + ("Jave"); 
      textBox2.Text = textBox2.Text + ("Jave"); 
      ListViewItem li = new ListViewItem("Networking"); 
      li.SubItems.Add("Jave"); 
      listView1.Items.Add(li); 

     } 
     else if (comboBox1.SelectedItem.ToString() == "Shamsher") 
     { 
      textBox1.Text = textBox1.Text + ("Networking"); textBox1.Text = " "; 
      textBox2.Text = textBox2.Text + ("Networking"); 
      textBox1.Text = textBox1.Text + ("Web"); 
      textBox2.Text = textBox2.Text + ("Web"); 
      ListViewItem li = new ListViewItem("Networking"); 
      li.SubItems.Add("Web"); 
      listView1.Items.Add(li); 



     } 

     else if (comboBox1.SelectedItem.ToString() == "Mudasir") 
     { 
      textBox1.Text = textBox1.Text + ("Networking"); 
      textBox2.Text = textBox2.Text + ("Networking"); 
      textBox1.Text = textBox1.Text + ("Team Fundation"); 
      textBox2.Text = textBox2.Text + ("Team Fundation"); 
      ListViewItem li = new ListViewItem("Networking"); 
      li.SubItems.Add("Team Funadation"); 
      listView1.Items.Add(li); 


     } 


     } 


    private void textBox1_TextChanged(object sender, EventArgs e) 
    { 


    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     comboBox1.Items.Add("Someting"); 

     comboBox1.Items.Add("Mcs"); 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     comboBox1.Items.Add("M.Naveed"); 
     comboBox1.Items.Add ("Mudasir"); 
     comboBox1.Items.Add ("Zeeshan"); 
     comboBox1.Items.Add("Shamsher"); 



    } 
    } 
} 
0

Opción 1:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (comboBox2.SelectedItem.ToString() == "Dr") 
    { 
     MessageBox.Show("its dr"); 
    } 
    else 
    { 
     MessageBox.Show("its cr"); 
    } 
} 

Opción 2:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (comboBox2.Text == "Dr") 
    { 
     MessageBox.Show("its dr"); 
    } 
    else 
    { 
     MessageBox.Show("its cr"); 
    } 
} 
0

probar esto, en su InitializeComponent() añadir este

private void InitializeComponent() 
{ 
// 
// combobox 
// 
this.combobox.SelectedIndexChanged += new System.EventHandler(this.changed); 
} 

entonces en su principal método, cree que este método

private void changed(object sender, EventArgs e) 
{ 
if(this.combobox.Text == "Something") 
Textbox1.Text = "Something"; 
} 
Cuestiones relacionadas