Ist es möglich, das Hintergrundbild eines Windows Forms TextBox
in C# zu ändern? Es gibt keine BackgroundImage
Eigenschaft. Sollte ich die Paint
Methode irgendwie übersteuern?Kann ein Hintergrundbild auf einer WinForms TextBox festgelegt werden?
Antwort
Es ist nicht möglich. Wenn Sie versuchen, TextBox zu überschreiben und SetStyle (ControlStyles.UserPaint, true) im Konstruktor aufzurufen, damit Sie OnPaintBackground überschreiben und das Bild zeichnen können, werden Sie einige unhöfliche Überraschungen erleben. Zurück zum Legacy-Rendering-Modus ist nur einer von ihnen.
TextBox stammt aus den frühen Tagen von Windows, als es noch auf 386SUX-Hardware laufen musste. Ein besonderes Verbrechen, das es sich verpflichtet, vernünftig auf solch eingeschränkter Hardware zu arbeiten, war, sich selbst zu zeichnen, ohne das Ereignis WM_PAINT zu verwenden. Dies zerstört das Hintergrundbild.
Es gibt ein Projekt bei CodeProject.com, das eins bietet. Ich kann es nicht empfehlen.
Vielen Dank für kurze und sehr informative Antwort. Kennen Sie einige Abhilfe, d. H. Transparenten Hintergrund? –
Workaround: Erstellen Sie ein 'UserControl' mit einem Hintergrundbild. Lege eine transparente 'RichTextBox' darauf. Um eine transparente 'RichTextBox' zu erstellen, kopieren Sie [Hans Passants Code] (http://stackoverflow.com/questions/605920/reasons-for-why-a-winforms-label-does-not-want-to-be-transparent/608256 # 608256), sondern erben von 'RichTextBox' anstelle von' Label'. Beachten Sie, dass das Erben von "TextBox" für diesen Trick nicht funktioniert. Sie können einer RichTextBox ein Hintergrundbild auf eine sauberere Weise geben. es ist eine leistungsfähigere Kontrolle als 'TextBox'. – Brian
Wenn Sie bis zu einem gewissen nativen Codierung sind, könnten Sie versuchen, die Technik, die hier erwähnt zu verwenden:
http://www.codedblog.com/2007/09/17/owner-drawing-a-windowsforms-textbox
(Edit: Original-Link ist unten, thnx Zyo, es mit Link auf die archivierten Kopie in der Wayback Maschine ersetzt .)
Obwohl der Artikel über das Zeichnen von etwas in einem Textfeld nach die Textbox ist gezeichnet (nicht vorher), vielleicht könnte es geändert werden, um zu erreichen, was Sie brauchen.
- 1. Platzhalter kann nicht auf TextBox festgelegt werden
- 2. Tabcontrol Hintergrundbild in Winforms
- 3. CSS Körper Hintergrundbild festgelegt, auch auf Vollbild, wenn ein-/aus
- 4. Winforms Textbox Zeilen pro Seite
- 5. Kann ein Haltepunkt für EXC_BAD_ACCESS festgelegt werden?
- 6. Benutzerdefinierte Caret für WinForms TextBox
- 7. WinForms: Autocomplete in mehrzeiliger Textbox
- 8. WinForms .net 2.0: Binden einer Textbox an eine übergeordnete Eigenschaft
- 9. Android - Wie wird das Hintergrundbild festgelegt?
- 10. Kann ein jQuery click-Ereignis auf einem Hintergrundbild in einer Liste ausgelöst werden?
- 11. Kann die Befehlsleiste festgelegt werden?
- 12. WinForms: Variable Anzahl der dynamischen TextBox-Steuerelemente
- 13. Wie Autoscroll mehrzeilige TextBox in WinForms machen?
- 14. Wie kann ein Rahmen in Google Closure programmgesteuert festgelegt werden
- 15. WinForms | C# | AutoComplete in der Mitte einer Textbox?
- 16. SelectedListIndex-Eigenschaft einer datengebundenen ListBox kann nicht festgelegt werden, warum?
- 17. C# Bind Generic List zu Textbox WinForms?
- 18. Wie kann ich mit C# zu einer angegebenen Zeile in einer WinForms TextBox blättern?
- 19. Kann ein benutzerdefiniertes ListView in einem ListFragment festgelegt werden?
- 20. Eigenschaft der Eigenschaft kann nicht festgelegt werden
- 21. Kann in Wit.ai eine Standardabsicht festgelegt werden?
- 22. ASP.NET - Wie Zellen-Breite-Prozent auf C# festgelegt werden Tabelle
- 23. C# WinForms Vertikale Ausrichtung für TextBox usw.
- 24. EditText-ID kann nicht programmgesteuert festgelegt werden
- 25. Eingabeaufforderungsbox-Wert kann nicht mit Selenium Chrome-Treiber festgelegt werden
- 26. hovered Elemente in einer Textbox angezeigt werden
- 27. Wie Windows Services auf "manuell" festgelegt werden?
- 28. TextAreaFor Breite kann nicht festgelegt werden
- 29. C# Winforms Erhalten Sie das gestreckte Hintergrundbild eines Formulars
- 30. Kann ich einen CSS-Filter auf ein Hintergrundbild anwenden?
WinForms oder WPF? – Vlad
WinForms, Beitrag aktualisiert, danke –