Estoy molesto con hacer clic una vez para seleccionar una fila del datagridview y, a continuación, haga clic de nuevo para hacer clic en un control en la fila (en este caso un combobox).

Hay una forma de configurar esta cosa para que todo esto se puede hacer en un clic del ratón en lugar de dos?

3 Comentarios

  1. 48

    Cambiar el modo de edición de la propiedad de su control DataGridView a «EditOnEnter». Esto afectará a todas las columnas sin embargo.

    • Va a probar, gracias.
    • Funciona como yo esperaba. Gracias Stuart!
    • Una mejor solución es publicado en Microsoft Foros. Coloca el cursor a la derecha en el medio del texto tal y como yo quería: social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/…
    • Terminé seleccionando todo el texto de clic, y subclases de la combobox tener la función autocompletar. Fue un montón de trabajo, aunque
  2. 2

    Si quieres aplicar de forma selectiva el uno-haga clic en editar para ciertas columnas, puede cambiar la celda actual durante el evento MouseDown para eliminar haga clic para editar:

    //Subscribe to DataGridView.MouseDown when convenient
    this.dataGridView.MouseDown += this.HandleDataGridViewMouseDown;
    
    private void HandleDataGridViewMouseDown(object sender, MouseEventArgs e)
    {
        //See where the click is occurring
        DataGridView.HitTestInfo info = this.dataGridView.HitTest(e.X, e.Y);
    
        if (info.Type == DataGridViewHitTestType.Cell)
        {
            switch (info.ColumnIndex)
            {
                //Add and remove case statements as necessary depending on
                //which columns have ComboBoxes in them.
    
                case 1: //Column index 1
                case 2: //Column index 2
                    this.dataGridView.CurrentCell =
                        this.dataGridView.Rows[info.RowIndex].Cells[info.ColumnIndex];
                    break;
                default:
                    break;
            }
        }
    }

    Por supuesto, si sus columnas, y sus índices son dinámicos, se tendrían que modificar un poco.

    • Muuuy muchos datagridviews a cambiar ahora, si me encuentro con un caso en el que tengo que hacer esto yo voy a comprobar tu solución!

Dejar respuesta

Please enter your comment!
Please enter your name here