Pregunta simple: Tengo un botón WinForms, y quiero que sea tanto (condicionalmente) invisible como deshabilitado (para asegurarse de que si alguien hace clic en el espacio donde vive el botón invisible, no lo activará). button.Visible = false
también implica button.Enabled = false
, o debo configurar/restablecer ambas propiedades en el momento apropiado?Botón de Winforms: ¿Visible = falso implica Enabled = false?
Respuesta
Si el control no está visible, se desactiva de manera efectiva. Al hacer clic en el área donde aparecería (o entrar y salir de esa área) si fuera visible, no provocará un evento para disparar.
EDIT: Para aclarar, basado en otras respuestas y comentarios, el botón es no funcionalidad de eventos discapacitados y subyacente está aún disponible programación, pero el botón no estará disponible físicamente/visible en el formulario y el usuario no podrá interactuar con él de ninguna manera (a menos que usted, como programador, proporcione otro método programáticamente).
Hay formas distintas de hacer clic con el mouse (como el teclado) para activar un botón. Leí su pregunta para preguntar si había alguna forma de presionar un botón, no solo se puede acceder a través del mouse. – recursive
@recursive: Mientras su punto sea válido, esperaría que un control pierda el foco cuando está oculto, y que no puede volver a enfocarse. Sin embargo, esto podría no ser cierto, y no estoy seguro de qué ocurre con los mnemónicos. Pero incluso entonces, hay formas de presionar un botón sin mouse o teclado. UI Automation viene a la mente. – OregonGhost
Configuración Visible a falso no no cambiar la propiedad Habilitado. Sin embargo, establecer la propiedad en falso hace que el control efectivamente ni siquiera esté allí. Si hace clic en el espacio vacío dejado por un botón invisible, el evento de clic del botón no se disparará.
Gracias, Joel. Eso es básicamente lo que necesitaba. Solo necesito asegurarme de que el usuario no pueda hacer clic en él. –
No creo que implique que esté deshabilitado. Simplemente significa que el control no es visible en el formulario, por lo tanto, no hay forma de realizar la acción en él. Si establece la propiedad visible en falso y luego invoca el evento Click a través del código, se procedería. Sin embargo, si establece la propiedad Enabled en False, me imagino que no sería
Bastante seguro si .Visible = false, la acción '_Click' está deshabilitada. Por ejemplo, si usted .PerformClick() en su código, y .Visible = true, se ejecutará _Click. Si es falso, _Click no se ejecutará.
- 1. Usando System.Windows.Forms.Timer.Start()/Stop() versus Enabled = true/false
- 2. asp: TextBox ReadOnly = true o Enabled = false?
- 3. IsEnabled or Enabled?
- 4. WPF ListView ScrollBar visible a falso
- 5. Winforms - eliminar visualmente clic de botón evento
- 6. Pregunta con respecto a Visible = falso y visualización: ninguno;
- 7. Botón ASP.NET options.clientSubmit está configurado como falso
- 8. @OneToOne (opcional = falso) y @JoinColumn (nullable = false) usados juntos
- 9. Botón dividir en .NET Winforms
- 10. upstart logging output enabled
- 11. UINavigationController Botón Atrás no visible, pero funciona
- 12. Winforms DataBind a la propiedad Visible del control
- 13. Agregar un botón a Winforms DataGridView
- 14. falso/FALSO - ¿alguna diferencia?
- 15. web.config batch = "false"
- 16. Winforms Timer for Dummies
- 17. Falso o Ninguno vs. Ninguno o Falso
- 18. nil || falso y falso || nil en ruby
- 19. ¿Cuándo es Control.Visible = true resulta ser falso?
- 20. Explicar sobre: insertable = falso, actualizable = falso
- 21. PHP - Función de validación para devolver true | false, Y un mensaje si es falso
- 22. User.IsInRole return false
- 23. MongoDB - upsert implica listas
- 24. código C que implica {}
- 25. Creando un botón de imagen en la aplicación .NET Winforms
- 26. WinForms enlace de datos con un botón Guardar?
- 27. ¿Qué significa android: enabled para un servicio?
- 28. ¿Implica C++ declaraciones de devolución?
- 29. double as true/false
- 30. JQuery JEditable - Cómo agregar un botón Visible Editarme?
Lo sé, no hay una pregunta estúpida/floja, pero en serio, ¿por qué no lo has intentado? :/ –
¿Por qué necesita el botón deshabilitado si lo oculta de todos modos? Simplemente deshabilite la funcionalidad subyacente (probando alguna bandera, o como quiera que sepa que debe desactivar el botón). De esta forma, incluso si un usuario estúpido usa una herramienta para volver a mostrar su botón o para enviar un mensaje de ventana al botón invisible pero habilitado, su aplicación no hará cosas que no debería hacer. En otras palabras, si desea deshabilitar la funcionalidad, desactive la funcionalidad y no solo la puerta de entrada. – OregonGhost