Cola Circular Visual

public partial class Form1 : Form
    {
        ColaCirc<int> Cint;
        ColaCirc<float> Cfloat;
        ColaCirc<double> Cdouble;
        ColaCirc<char> Cchar;
        ColaCirc<string> Cstring;

        public Form1()
        {
            InitializeComponent();
        }

        private void butCrear_Click(object sender, EventArgs e)
        {
            try
            {
                int elementos = Convert.ToInt32(textNoElementos.Text);

                if (comboBoxTipoDato.SelectedIndex == -1)
                {
 MessageBox.Show("Favor de seleccionar el tipo de dato a ingresar...","Atención");
                    return;
                }

                dgv.ColumnCount = elementos;
                dgv.RowCount = 1;
                for (int i = 0; i < elementos; i++)
                    dgv.Columns[i].HeaderCell.Value = i.ToString();

                switch (comboBoxTipoDato.SelectedIndex)
                {
                    case 0:
                        Cint = new ColaCirc<int>(elementos);
                        break;

                    case 1:
                        Cfloat = new ColaCirc<float>(elementos);
                        break;

                    case 2:
                        Cdouble = new ColaCirc<double>(elementos);
                        break;

                    case 3:
                        Cchar = new ColaCirc<char>(elementos);
                        break;

                    case 4:
                        Cstring = new ColaCirc<string>(elementos);
                        break;
                }

                gBCola.Visible = true;
                gBInicio.Enabled = false;
            }

            catch
            {
                MessageBox.Show("Favor de introducir la cantidad de elementos");
            }

           
        }

        private void tBInsertar_KeyPress(object sender, KeyPressEventArgs e)
        {
            try
            {
                if (e.KeyChar == (char)Keys.Enter)
                {

                    switch (comboBoxTipoDato.SelectedIndex)
                    {
                        case 0:
                            if (!Cint.insertar(Convert.ToInt32(textInsertar.Text)))
              MessageBox.Show("La Cola ha llegado a su limite...");
                            textInsertar.Clear();
                            Cint.Mostrar(dgv);
                            break;

                        case 1:
                            if (!Cfloat.insertar(float.Parse(textInsertar.Text)))
           MessageBox.Show("La Cola ha llegado a su limite...");
                            textInsertar.Clear();
                            Cfloat.Mostrar(dgv);
                            break;

                        case 2:
                            if (!Cdouble.insertar(Convert.ToDouble(textInsertar.Text)))
     MessageBox.Show("La Cola ha llegado a su limite...");
                            textInsertar.Clear();
                            Cdouble.Mostrar(dgv);
                            break;

                        case 3:
                            if (!Cchar.insertar(Convert.ToChar(textInsertar.Text)))
          MessageBox.Show("La Cola ha llegado a su limite...");
                            textInsertar.Clear();
                            Cchar.Mostrar(dgv);
                            break;

                        case 4:
                            if (!Cstring.insertar(Convert.ToString(textInsertar.Text)))
    MessageBox.Show("La Cola ha llegado a su limite...");
                            textInsertar.Clear();
                            Cstring.Mostrar(dgv);
                            break;
                    }
                }
            }
            catch
            {
                MessageBox.Show("Verificar");
                return;
            }
        }



        private void butExtraer_Click(object sender, EventArgs e)
        {
            switch (comboBoxTipoDato.SelectedIndex)
            {
                case 0:
                    int datoint = 0;
                    int caracterint = 0;
                    if(!Cint.eliminar(ref datoint,caracterint))
   MessageBox.Show("No hay mas datos para eliminar en la cola");
                    textDatoExtraido.Text = datoint.ToString();
                    Cint.Mostrar(dgv);
                    break;

                case 1:
                    float datofloat = 0;
                    float caracterfloat = 0;
                    if(!Cfloat.eliminar(ref datofloat, caracterfloat))
  MessageBox.Show("No hay mas datos para eliminar en la cola");
                    textDatoExtraido.Text = datofloat.ToString();
                    Cfloat.Mostrar(dgv);
                    break;

                case 2:
                    double datodouble = 0.0;
                    double caracterdouble = 0.0;
                    if(!Cdouble.eliminar(ref datodouble, caracterdouble))
    MessageBox.Show("No hay mas datos para eliminar en la cola");
                    textDatoExtraido.Text = datodouble.ToString();
                    Cdouble.Mostrar(dgv);
                    break;

                case 3:
                    char datochar = ' ';
                    char caracterchar = ' ';
                    if(!Cchar.eliminar(ref datochar, caracterchar))
      MessageBox.Show("No hay mas datos para eliminar en la cola");
                    textDatoExtraido.Text = datochar.ToString();
                    Cchar.Mostrar(dgv);
                    break;

                case 4:
                    string datostring = " ";
                    string caracterstring = " ";
                    if(!Cstring.eliminar(ref datostring, caracterstring))
      MessageBox.Show("No hay mas datos para eliminar en la cola");
                    textDatoExtraido.Text = datostring.ToString();
                    Cstring.Mostrar(dgv);
                    break;
            }
        }