c# - sublime - menu desplegable vertical html
Abrir elementos de menĂº desplegable(en una vista de cuadrĂcula de datos) con un solo clic (3)
Puede lograr esto suscribiéndose al evento EditingControlShowing
de la grilla y allí para el control de tipo ComboBox
ComboBox ctl = e.Control as ComboBox;
ctl.Enter -= new EventHandler(ctl_Enter);
ctl.Enter += new EventHandler(ctl_Enter);
Y en el evento Enter, use la propiedad
void ctl_Enter(object sender, EventArgs e)
{
(sender as ComboBox).DroppedDown = true;
}
Dropped Down indica como el nombre sugiere si se muestra el área desplegable o no, por lo que cada vez que se ingrese el control, se establecerá en verdadero y se mostrarán los elementos sin necesidad de hacer más clics.
¿Cómo puedo evitar hacer doble clic en DropDownButton
utilizado dentro de DataGridView
? Ahora puedo ver los elementos desplegables dentro de DataGridView
haciendo clic dos o más veces. La primera vez que selecciona la celda y la segunda vez cuando hago clic en la flecha DropDownButton
, muestra la lista. ¿Cómo puedo lograr lo mismo con un solo clic?
Establezca la propiedad EditMode
de DataGridView
en EditOnEnter
: enlace
DataGridView.EditMode
- Obtiene o establece un valor que indica cómo comenzar a editar una celda.
EditOnEnter
- La edición comienza cuando la celda recibe el foco.
La "propiedad EditMode set de DataGridView para EditOnEnter" funcionó para mí, pero encontré otro problema: el usuario no puede eliminar una fila simplemente seleccionando y presionando la tecla SUPR. Entonces, una búsqueda en Google me dio otra forma de hacerlo. Simplemente capture el evento CellEnter y verifique si la celda es del tipo apropiado para realizar una acción apropiada como este código de muestra:
private void Form_OnLoad(object sender, EventArgs e){
dgvArmazem.CellEnter += new DataGridViewCellEventHandler(dgvArmazem_CellEnter);
}
void dgvArmazem_CellEnter(object sender, DataGridViewCellEventArgs e)
{
DataGridView dg = (DataGridView)sender;
if (dg.CurrentCell.EditType == typeof(DataGridViewComboBoxEditingControl))
{
SendKeys.Send("{F4}");
}
}
Ahora el ComboBox cae más rápido y el usuario aún elimina una fila seleccionando una fila y presionando la tecla SUPR.
Eso es.