¿Es posible cambiar la imagen de fondo de Windows Forms TextBox
en C#? No hay una propiedad BackgroundImage
. ¿Debo anular el método Paint
de alguna manera?¿Se puede establecer una imagen de fondo en un cuadro de texto de Winforms?
Respuesta
No es posible. Si lo intenta anulando TextBox y llamando a SetStyle (ControlStyles.UserPaint, true) en el constructor para que pueda anular OnPaintBackground y dibujar la imagen, tendrá varias sorpresas groseras. Volver al modo de representación heredado es solo uno de ellos.
TextBox data de los primeros días de Windows, cuando aún tenía que ejecutarse en hardware 386SUX. Un crimen particular que se compromete a trabajar razonablemente en hardware tan limitado fue dibujarse sin usar el evento WM_PAINT. Esto destruye la imagen de fondo.
Hay un proyecto en CodeProject.com que proporciona uno. No puedo recomendarlo.
Gracias por su breve y muy informativa respuesta. ¿Conoces alguna solución, es decir, fondo transparente? –
Solución alternativa: cree un 'UserControl' con una imagen de fondo. Coloque un 'RichTextBox' transparente encima. Para producir un 'RichTextBox' transparente, copie [Hans Passant's Code] (http://stackoverflow.com/questions/605920/reasons-for-why-a-winforms-label-does-not-want-to-be-transparent/608256 # 608256) pero hereda de 'RichTextBox' en lugar de' Label'. Tenga en cuenta que heredar de 'TextBox' no funcionará para este truco. Es posible que pueda darle a un 'RichTextBox' una imagen de fondo de una manera más limpia que esta; es un control más poderoso que 'TextBox'. – Brian
Si usted está listo para algo de código nativo, usted podría tratar de usar la técnica mencionada aquí:
http://www.codedblog.com/2007/09/17/owner-drawing-a-windowsforms-textbox
(Edit: vínculo original se ha reducido, thnx Zyo, lo reemplazó con un enlace a copia archivada en la máquina de Wayback .)
Aunque el artículo trata de dibujar algo en un cuadro de texto después de el cuadro de texto está dibujado (no antes), quizás podría modificarse para lograr lo que necesita.
- 1. Establecer una imagen de fondo para UIButton
- 2. cuadro de texto con un fondo transparente
- 3. WinForms | C# | ¿Autocompletar en medio de un cuadro de texto?
- 4. No se puede capturar la tecla Entrar en el cuadro de texto de WinForms
- 5. No se puede establecer el foco en un cuadro de texto de Windows Forms
- 6. ¿Cómo dibujar texto en cuadro de imagen?
- 7. Cómo establecer una imagen de fondo en android
- 8. Establecer imagen de fondo en uitableview?
- 9. Cómo establecer la imagen de fondo de una vista?
- 10. Cuadro de mensaje WinForms con botones de texto
- 11. Establecer un color de fondo de página web antes de que cargue la imagen de fondo
- 12. cómo insertar una imagen en un cuadro de texto
- 13. Establecer imagen de fondo en UIViewController (MonoTouch)
- 14. ¿Puede GVIM tener una imagen de fondo?
- 15. Establecer la imagen de fondo de un SurfaceView
- 16. ¿Establecer imagen de fondo para el color de fuente?
- 17. WinForms: Autocompletar en el cuadro de texto de líneas múltiples
- 18. Establecer imagen de fondo mediante programación en un Xib
- 19. Establecer imagen de fondo para QPushButton
- 20. No se puede establecer la imagen de fondo en Qt Stylesheet
- 21. Establecer imagen de fondo de una ventana OpenGL
- 22. Establecer una imagen de fondo en un control de imagen WPF?
- 23. ¿Podemos establecer una imagen de fondo en las pestañas?
- 24. ¿Cómo destaco el texto en un cuadro de texto en un programa C# Winforms?
- 25. WinForms: ¿Existe un concepto de asociación de una etiqueta con un cuadro de texto?
- 26. Cómo hacer un cuadro de texto de autocompletar en una aplicación de escritorio de winforms
- 27. Establecer color/imagen de fondo para EKEventEditViewController
- 28. Cambiar el modo de tamaño de una imagen de fondo en el cuadro de imagen
- 29. Cuadro de texto resaltado de sintaxis para Winforms, ASP.NET, WPF
- 30. Insertar pestañas en un cuadro de texto
WinForms o WPF? – Vlad
WinForms, post updated, gracias –