transparente richTextBox
wie kann ich eine richtext box transparent
Ich möchte dieses cuz ich versuchte, einen text über eine Grafik-Bild (das ist der hintergrund meiner form).
Deswegen wollte ich die richTextBox transparent,
Ich bin mit .NET ,c# - und in einer windows-form-Anwendung
- Werfen Sie einen Blick auf diese möglichen doppelten Eintrag - stackoverflow.com/questions/1716427/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine solche Sache wie echte Transparenz in einer WinForms-Control. Transparent-Modus erbt die Standard-Hintergrundfarbe des übergeordneten Elements. Die Art, wie ich gearbeitet haben, um es in der Vergangenheit war die Nutzung der
OnPaint
Ereignis, und verwenden Sie dann dieGraphics.DrawString
Methode, um den text, wo ich es will.Ich weiß, diese Antwort ist sehr spät, aber ich hoffe, es hilft anderen, die gerne einen einfachen Weg, um dies getan.
Erstellen Sie zunächst einen neuen Benutzer-Steuerelement in Ihrem Projekt und geben Sie ihm einen Namen, sagen CustomRTB.cs. Sobald Sie dies getan haben, öffnen Sie die partiellen Klasse und ändern:
zu:
Dies wird einen Fehler verursachen, wenn Sie öffnen Sie die Design-Datei, so gehen Sie einfach auf die Designer.cs-Datei und entfernen/kommentieren Sie die Zeilen, die Fehler zeigen (es werden nicht mehr als zwei Zeilen mit Fehlern). Als Nächstes fügen Sie den folgenden, um die partielle Klasse:
Die Klasse sollte nun wie folgt Aussehen:
Nun erstellen Sie die Projektmappe, und Sie werden in der Lage sein, um das Steuerelement zu verwenden, die in Ihren Formen. Diese Kontrolle wird vollständig transparent sein, und Sie werden nicht in der Lage sein, um die Transparenz einstellen. Sie werden auch in der Lage, verschiedene transparente Steuerelemente, abgesehen von einem richtextbox-Steuerelement durch das ändern der ersten Zeile in diesem code. Hoffe, das hilft 🙂
Edit:
Das problem mit der oben genannten Steuerung ist, dass Sie nur verwendet werden zum anzeigen von text programmgesteuert als es ist problematisch, zu Bearbeiten, während Sie ausführen oder Debuggen Sie die Anwendung (wie @nevelis erklärt im Kommentar unten). Es gibt jedoch einen einfachen workaround dafür:
Erste, erstellen Sie einen anderen Benutzer-Steuerelement in Ihrem Projekt und nennen Sie es TranslucentPanel.cs (ja, es ist ein panel, und es wird lichtdurchlässig, deren Deckkraft programmgesteuert kontrolliert werden kann). Öffnen Sie nun die partielle Klasse, und ändern Sie es wie:
Müssen Sie kümmern sich um den Fehler, der aufkommt, wenn Sie das Projekt erstellen, indem Sie einfach auskommentieren der Zeile in der Designer.cs-Datei, die es wirft. Sobald Sie dies getan haben, erstellen Sie das Projekt erneut, und die lichtdurchlässigen Fenster wird angezeigt in der toolbox als zuvor. Verwenden Sie dieses Bedienfeld, als Eltern die Kontrolle, um Ihre transparente richtextbox-Steuerelement, D. H. legen Sie das panel auf dem Formular, und platzieren Sie die RTB-innen. Sie können auch legen Sie die BorderStyle-Eigenschaft auf None zu entfernen jede Spur von der RTB aus der UI.
Sie können auch die Opazität des transluzenten Systemsteuerung, indem Sie mit Ihrem BackColor-Eigenschaft in Ihrem Programm:
Änderung der übergebenen Argumente oben Steuern Sie die Deckkraft und die Farbe des Panels.
Diesem workaround lösen Sie den cursor und scrollen Probleme, nicht nur die transparente RTB, aber auch jede andere transparente Kontrolle, die Sie erstellen.
Dir gegeben habe, dieses zu versuchen?
http://www.codeproject.com/KB/edit/AlphaBlendedTextControls.aspx?artkw=richTextBox%20to%20be%20transparent
Gibt es keine Möglichkeit, Windows Forms-Steuerelemente mit transparentem hintergrund. Viele es versucht haben und alle sind gescheitert. Einige kamen mit exotischen hacks, aber Sie alle scheitern an einige Details. Verwendung von WPF oder HTML, wenn Sie brauchen mehr erweiterte rendering-Funktionen, als die alte Windows Forms können Sie anbieten.