verificacion opcion insertar hacer formato control como checklist casilla boton usability

usability - opcion - insertar checkbox en excel 2016



La mayoría utilizable selecciona todo/deselecciona todo el formato de casilla de verificación (5)

Diría que es la forma más intuitiva de seleccionar / deseleccionar todo. Pero también he visto que algunos usan un enlace, pero yo preferiría eso.

¿Cuál es el mejor patrón para seleccionar o anular la selección de todas las casillas de verificación? ¿Puede alguien encontrar una mejor manera de tenerlo en esta forma?


Simplemente acerque la casilla de verificación Seleccionar todo al borde izquierdo. Tal vez cambie el texto algo así como "Todos los juegos anteriores", etc. para dejar en claro qué "todos" se está seleccionando.


Voy a ser sincero, nunca me ha gustado la idea de usar una casilla de verificación para la opción "seleccionar todo", aunque lo veas mucho. No es un solo elemento para ser recogido, es una acción. Y si selecciona todo y luego comienza a deseleccionar elementos individuales en la lista, el estado "marcado" de la casilla de verificación Seleccionar todo se vuelve intrínsecamente confuso. Prefiero usar un enlace / botón simple pero obvio que alterna entre "seleccionar todo" y "deseleccionar todo" al hacer clic en él. No hay ningún estado para confundirlo cuando se han deseleccionado elementos individuales, y el resultado de presionar el botón nunca está en duda. La naturaleza exclusiva de la operación hace que sea perfectamente razonable alternar (en lugar de usar dos botones siempre visibles, uno para seleccionar todo, uno para deseleccionar todo), ya que está como máximo a dos clics de su comportamiento deseado. Y separa visualmente esta "acción" de los elementos individuales, lo que evita los errores y distingue el comportamiento.


Aquí está la lógica de un Control de usuario en WinForms para implementar la respuesta de @nezroy. Esto le permite especificar una Acción Inicial [una de SelectAll o DeselectAll] también.

Imports System.ComponentModel '''''' <summary> '''''' A control which allows the user to toggle back-and-forth '''''' between selecting all of something, or de-selecting all of something. '''''' </summary> Public Class uscSelectDeselectAll #Region "Events" Public Event CurrentAction_Changed() #End Region #Region "Enums" Public Enum SelectAction SelectAll DeselectAll End Enum #End Region #Region "Module-level variables" Private _initialAction As SelectAction Private _currentAction As SelectAction #End Region #Region "Properties" Public Property CurrentAction As SelectAction Get Return _currentAction End Get Private Set(value As SelectAction) _currentAction = value SetActionLinkText() End Set End Property <Browsable(True)> <EditorBrowsable(EditorBrowsableState.Always)> <DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> Public Property InitialAction As SelectAction Get Return _initialAction End Get Set(value As SelectAction) _initialAction = value SetActionLinkText() End Set End Property #End Region #Region "Procedures" Private Sub SetActionLinkText() If _currentAction = SelectAction.SelectAll Then llActionText.Text = "Select All" ElseIf _currentAction = SelectAction.DeselectAll Then llActionText.Text = "Deselect All" Else Throw New InvalidEnumArgumentException("Invalid SelectActionProvided.") End If End Sub Private Sub ToggleAction() If CurrentAction = SelectAction.SelectAll Then CurrentAction = SelectAction.DeselectAll ElseIf CurrentAction = SelectAction.DeselectAll Then CurrentAction = SelectAction.SelectAll Else Throw New Exception("CurrentAction has the invalid value: " & CurrentAction.ToString()) End If End Sub #End Region #Region "Event Handlers" Private Sub llActionText_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles llActionText.LinkClicked RaiseEvent CurrentAction_Changed() ToggleAction() End Sub Private Sub uscSelectDeselectAll_Load(sender As Object, e As EventArgs) Handles Me.Load CurrentAction = InitialAction End Sub #End Region End Class


Si puede formatear su diálogo con listas, me gusta el método de "casilla de verificación en el encabezado de la lista" (y la mayoría de los usuarios saben cómo usarlo).

Si no quiere usar una lista, creo que un botón o un hipervínculo (que pasa de "Seleccionar todo" a "No seleccionar ninguno" funcionaría mejor que otra casilla de verificación que es difícil de distinguir entre todas las demás casillas de verificación. , desmarcar la casilla "marcar todo" no necesariamente agregaría una funcionalidad de "no verificar ninguno" para un usuario.