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.