Ok, así que estoy tratando de mover elementos de un cuadro de lista a otro utilizando los botones múltiples, es decir,botones de desactivación de un problema en C#
tengo 2 botones cmdRight y cmdRight2 que son tanto personas con discapacidad en la carga de forma
Si el usuario selecciona un solo elemento en el primer cuadro de lista. Se habilita un botón cmdRIght pero el comando cmdRight2 sigue desactivado. Si el usuario selecciona varios elementos en el primer cuadro de lista, se habilita el botón cmdRight2 pero el comando cmdRight está desactivado.
Tengo los botones de mover para trabajar pero el problema que tengo es después de mover varios elementos con el botón cmdRight2 el botón cmdRight habilita (que no debería solo habilitar después de seleccionar un solo elemento en el cuadro de lista). He intentado numerosas sentencias if, etc., y aún así sucede.
Soy nuevo en C# por lo que cualquier ayuda sería apreciada.
Gracias
private void lbList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.lbList1.SelectedItems != null)
{
cmdRight.Enabled = true; //enable cmdRight
cmdClear.Enabled = true; //enable cmdClear
if (this.lbList1.SelectedItems.Count > 1)//if multiple items selected
{
cmdRight.Enabled = false;
cmdRight2.Enabled = true; //enable cmdRight2
}
}
}
private void cmdRight2_Click(object sender, EventArgs e)
{
foreach (int i in lbList1.SelectedIndices)
{
lbList2.Items.Add(lbList1.Items[i].ToString());
}
while (lbList1.SelectedItems.Count > 0)
{
lbList1.Items.Remove(lbList1.SelectedItems[0]);
}
cmdRight2.Enabled = false;
}
private void cmdRight_Click(object sender, EventArgs e)
{
lbList2.Items.Add(lbList1.SelectedItem); //Add selected item from list1 to list2
lbList1.Items.Remove(lbList1.SelectedItem);//remove the selected item in list1
cmdRight.Enabled = false; //disable cmdRight
}
has puesto los puntos de interrupción en el inicio de cada función para ver el orden en que se los llama? O al menos, un punto de interrupción cada vez que cmdRight.Enabled se establece en verdadero. – taylonr
Esta no es una respuesta a su pregunta, pero ¿por qué no combinar los dos botones (simplemente eliminando cmdRight y manteniendo cmdRight2)? Obviamente no conozco su diseño, pero probablemente resolvería su problema. –
Probé los puntos de interrupción y por alguna razón la declaración if "if (this.lbList1.SelectedItems! = Null)" parece ser siempre cierta. Incluso cuando no se selecciona nada –