transparente Textbox
-
Hallo, Folgendes Problem
Ich verwende eine Richtextbox. Diese Textbox befindet sich in einer Form mit einem Hinergrundbild. Nun will ich, dass die Textbox transparent ist damit man das hintergrundbild des Forms durchsieht........
Ist das überhaupt möglich?
-
asdfasdf schrieb:
Ist das überhaupt möglich?
Schon aber nicht Direkt
Man kann nicht [RichTextBox].BackgroundColor = System.Drawing.Color.Transparent sezten. Man muss schon OnPaint-Funktion überschreiben wenn man von RichTextBox erbt oder das Paint-Ereignis abfangen und dann
void richTextBox1_Paint( object sender, System.Windows.Forms.PaintEventArgs e ) { DrawImage(this.BackGroundImage /*ggf. ändern */, e.ClipRectangle, e.ClipRectangle.Offset( /*[RichTextBox]*/.Left, /*[RichTextBox]*/.Top), System.Drawing.GraphicsUnit.Pixel); }
eingeben
Mit freundlivhen Grüße
Rhombicosidodecaehron
-
das funktioniert nicht...... Bei einer Richtextbox kann ich das Paint event nicht abfragen!
-
Oh...
dann musst du das eben selber erstellen
Es gibt ja noch das Paint-Ereignis von der TextboxBaseEinfach folgendes eingeben (ab besten im Konstruktor):
//Wenn du M§VisualStudio benutzt: /*RichTextBox-Variable*/.Paint /*erschient nicht im IntelSense-Menu*/ += /* nun müsste ein Tooltip auftachen - entweder weiter eingeben oder zweimal Tab-Taste drücken */ new PaintEventHandler(/*Paint-Funktionsname*/);
Mit freundlichen Grüßen
Rhombicosidodecahedron
-
das ist das gleiche wie vorhin...... das geht nicht die funktion wird einfach nicht aufgerufen
-
2. Versuch
- Klasse von
RichTextBox
ableiten
- In den Konstrukor
this.SetStyle(ControlStyles.UserPaint, true);
einfügen
- Die Funktion
OnPaint
überladen
- Hoffen das es endlich klappt...
Mit freundlichen Grüßen und für den falschen Weg sich entschuldigend
Rhombicosidodecahedron
-
das funktioniert ..... nur wird jetzt der eingetippte text nicht mehr angezeigt da ich den text immer mit dem bild "übermale"!
-
Leider weiß ich ab hier nicht weiter.
Hoffentlich aber andere aus diesem Forum...
Nur so nebenbei: muss es umbedingt die RichTextBox sein?
Mit freundlichen und leicht traurigen Grüßen
RhombicosidodecahedonEdit: andere Wortwahl
-
Nie probiert - aber es könnte sich lohnen das ganze mit dem Event
OnPaintBackground
zu versuchen.
-
Ne, klappt nicht. Man muss dazu
this.SetStyle(ControlStyles.UserPaint, true);
eingeben, aber dann wird alles übermalt...
-
ja das funktioniert schon aber den text den man eingibt sieht man trotzdem nicht