hola tengo el siguiente problema
estoy haciendo una practica de una cola en c# con windows forms
le coloque 4 botones
1 enqueue
2 dequeue
3 peek
4 eliminar todo
el enqueue me agrega los elementos en el listbox
el dequeue me borra el primer elemento q ingreso
y el peek me debe mostrar el primer elemento que entro pero sin borrarlo
y eliminar todo pues borra todo los datos de la cola que estan en el listbox
todo de manera individual funciona bien, pero por ejemplo si ingreso datos
100
320
513
455
el primero que entro fue 100 el dequeue lo elimina entonces mi lista queda asi
320
513
455
y si doy click a peek me tendria que mostrar 320 ya que ahora es el primer elemento en la cola pero no sucede asi me sigue mostrando 100 siendo que ya lo borre del listbox
o si le doy a eliminar todo si me borra todo pero si vuelvo a presionar peek se supone que no debe mostrar nada porque ya no hay nada, pero no es asi me muestra 100 y pues ya no tiene ningun elemento
espero haberme explicado y si alguien me puede orientar
les pongo los codigos de mis botones
no se mucho sobre este lenguaje por eso son muy sencillos mi botones
public partial class frmCola : Form
{
Queue cola = new Queue();
Random rdm = new Random();
int numero = 0;
int cont;
public frmCola()
{
InitializeComponent();
}
private void btnInicio_Click(object sender, EventArgs e)// boton para metodo enqueue
{
int valor = rdm.Next(100, 999);
cola.Enqueue(valor);
lbxLista.Items.Insert(0, valor);
}
private void button1_Click(object sender, EventArgs e)// boton para metodo dequeue
{
try
{
lbxLista.Items.Remove(lbxLista.Items[lbxLista.Items.Count - 1]);
lblContador.Text = Convert.ToString(cola.Count - 1);
}
catch (Exception)
{
MessageBox.Show("Error. [La lista esta vacia. No hay elementos para eliminar]. \n\n *NOTA:\n Agregue elementos para utilizar metodos como este.", "Remover Primero", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btnPeek_Click(object sender, EventArgs e) // boton para metodo peek
{
if (numero == null)
{
MessageBox.Show("La lista esta vacia");
}
else
{
MessageBox.Show("PEEK : " + cola.Peek());
}
}
private void btnEliminar_Click(object sender, EventArgs e) // boton eliminar todo
{
if (numero == null)
{
MessageBox.Show("Error. [La lista esta vacia. No hay elementos para eliminar]. \n\n *NOTA:\n Agregue elementos para utilizar metodos como este.", "Remover Primero", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
lbxLista.Items.Clear();
}
}