Kann ein Hintergrundbild in einer WinForms TextBox festgelegt werden?
Ist es möglich, ändern Sie das hintergrund-Bild des Windows Forms - TextBox
in C#? Es gibt keine BackgroundImage
Eigenschaft. Soll ich das überschreiben der Paint
Methode irgendwie?
InformationsquelleAutor der Frage Jan Turoň | 2010-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es nicht möglich. Wenn Sie versuchen, durch überschreiben der TextBox und den Aufruf von SetStyle(ControlStyles.UserPaint, true) im Konstruktor, so dass Sie überschreiben können OnPaintBackground und ziehen Sie das Bild, werden Sie für mehrere unhöfliche überraschungen. Fallback auf legacy-rendering-Modus ist nur einer von Ihnen.
TextBox stammt aus den ganz frühen Tagen von Windows, damals, als es noch zu laufen hatte, auf 386SUX hardware. Einer bestimmten straftat begeht, um die Arbeit sinnvoll auf solche beschränkt, die hardware war, sich selbst zu zeichnen, ohne mit der WM_PAINT-Ereignis. Das zerstört das Bild im hintergrund.
Es ist ein Projekt, an CodeProject.com das bietet einen. Ich kann es nur empfehlen.
InformationsquelleAutor der Antwort Hans Passant
Wenn du bereit bist, einige native Codierung, könnten Sie versuchen, verwenden Sie die Technik, die hier erwähnt werden:
http://www.codedblog.com/2007/09/17/owner-drawing-a-windowsforms-textbox(Edit: original-link ist down, thnx Zyo, ersetzt es mit dem link zu dem archivierten Exemplar in der wayback machine.)
Obwohl der Artikel über das zeichnen etwas in eine textbox nach das Textfeld gezeichnet wird (nicht vor), vielleicht könnte es geändert werden, um zu erreichen, was Sie brauchen.
InformationsquelleAutor der Antwort M-Peror