private void dataGridViewDetalleIngStock_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                var senderGrid = (DataGridView)sender;

                if (e.KeyCode == Keys.Enter && senderGrid.Columns[this.dataGridViewDetalleIngStock.CurrentCell.ColumnIndex].Index == (int)Col_Detalle.BUSCADOR && this.dataGridViewDetalleIngStock.CurrentCell.RowIndex >= 0)
                {
                    Frm_ProdIngresoStock _prod = new Frm_ProdIngresoStock();
                    _prod.Articulos = _articulosItem;    //le paso la colección de artículos
                    //paso los rubros
                    _prod.Rubros       = _rubrositem;
                    _indexSeleccionado = this.dataGridViewDetalleIngStock.CurrentCell.RowIndex; //establezco el index
                    _prod.MdiParent    = this.MdiParent;                                        // esto porque estoy utiliando MDI
                    _prod.Opener       = this;                                                  // es para el formulario hijo
                    _prod.Show();
                    _prod.StartPosition = FormStartPosition.CenterScreen;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void dataGridViewDetalleIngStock_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                //var senderGrid = (DataGridView)sender;

                //if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
                if (e.ColumnIndex == (int)Col_Detalle.BUSCADOR && e.RowIndex >= 0)
                {
                    Frm_ProdIngresoStock _prod = new Frm_ProdIngresoStock();
                    _prod.Articulos = _articulosItem;    //le paso la colección de artículos
                    //paso los rubros
                    _prod.Rubros       = _rubrositem;
                    _indexSeleccionado = e.RowIndex;     //establezco el index
                    _prod.MdiParent    = this.MdiParent; // esto porque estoy utiliando MDI
                    _prod.Opener       = this;           // es para el formulario hijo
                    _prod.Show();
                    _prod.StartPosition = FormStartPosition.CenterScreen;
                }

                if (e.ColumnIndex == (int)Col_Detalle.VTOS && e.RowIndex >= 0)
                {
                    DataGridViewDisableButtonCell buttonCell = (DataGridViewDisableButtonCell)dataGridViewDetalleIngStock.Rows[e.RowIndex].Cells[(int)Col_Detalle.VTOS];

                    if (!buttonCell.Enabled)
                    {
                        MessageBox.Show("Este artículo no tiene el atributo Trabaja con Fecha de Vto.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return; //SI EL BUTTON TIENE ENEBLE = FALSE NO PERMITO MOSTRAR EL OTRO FORMULARIO
                    }
                    Frm_Vtos _vto        = new Frm_Vtos();
                    string   _art        = dataGridViewDetalleIngStock.Rows[e.RowIndex].Cells[(int)Col_Detalle.CODIGO].Value.ToString();
                    string   _descripArt = dataGridViewDetalleIngStock.Rows[e.RowIndex].Cells[(int)Col_Detalle.DESCRIPCION].Value.ToString();
                    //RECUPERO LA LISTA DE VTOS DE ESTE ARTICULO PARA PASARLO AL FORMULARIO DE VTOS
                    List <Entities.Tables.STKVENCIMIENTO> _listObj = _ArtsVtos.FindAll(item => item.ARTICULO_ID == _art);
                    //ACA BORRAR DE LA LISTA ESTE ARTICULO CON TODOS SUS VTOS. PORQUE CARGO TODO DE NUEVO CADA VEZ QUE SE EDITA...
                    //ESTO PORQUE PUEDE ESTAR AGREGANDO O ELIMINANDO VTOS.
                    _ArtsVtos.RemoveAll(item => item.ARTICULO_ID == _art);
                    //PASO LA LISTA AL FORMULARIO DE VTOS
                    _vto.ListVto = _listObj;
                    Entities.Tables.STKVENCIMIENTO _newVto;
                    _vto.CodigoArticuloVto  = _art;
                    _vto.DescripArticuloVto = _descripArt;
                    decimal _cantIngresada    = 0;
                    int     _cantidadFechaVto = 0;
                    if (_vto.ShowDialog() == DialogResult.OK)
                    {
                        foreach (var item in _vto.ListVto)
                        {
                            _newVto             = new Entities.Tables.STKVENCIMIENTO();
                            _newVto.ARTICULO_ID = item.ARTICULO_ID;
                            _newVto.CANTIDAD    = item.CANTIDAD;
                            _newVto.VTO         = item.VTO;
                            //VOY SUMANDO LAS CANTIDADES
                            _cantIngresada += item.CANTIDAD;
                            _cantidadFechaVto++; //ME DICE CUANTAS FECHAS DE VTOS DISTINTAS TENGO, ES PARA SABER CUANTAS ETIQUETAS DEBO IMPRIMIR
                            _ArtsVtos.Add(_newVto);
                        }
                        //COLOCO LA CANTIDAD TOTAL RECIBIDA DE ESTE ARTICULO
                        //NO COLOCO LA CANTIDAD RECIBIDA PORQUE NO ME HABILITA EL PROXIMO RENGON.....
                        // dataGridViewDetalleIngStock.Rows[e.RowIndex].Cells[(int)Col_Detalle.CANTIDAD].Value = _cantIngresada.ToString().Replace(",", ".");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }