[C#] Transparenter Webbrowser

09/11/2011 14:53 dr0n3#1
Hallo zusammen,

Ich schreibe derzeit einen kleinen Launcher für ein Spiel.
Nun bin ich an dem Punkt, an dem ich den User über aktuelle News des Servers informieren möchte.

Meine bisherige Idee war, dass ich eine HTML-Datei erstelle, auf einen Server lade und während der Laufzeit in einem Webbrowser-Element ausgeben lasse.

Das klappt soweit auch ganz gut. Nur ist der Hintergrund des Webbrowsers leider weiß, mein bisheriges Design aber nicht(Der Webbrowser liegt auf einem leicht transparenten Rectangle).
Es ist also nicht grade attraktiv.

Meine Frage lautet nun: Ist es möglich den Hintergrund des Webbrowsers transparent zu machen? Andere Lösungsvorschläge sind natürlich auch gern gesehen^^

mfg dr0n3
09/11/2011 15:03 Devil589#2
Hallo, grundsätzlich würde ich von dem Webbrowser Control abraten.
Du kannst da eher die HttpWebRequest oder WebClient Variante nutzen.
Ich würde einfach ein Label nutzen und dann beim Programmstart sowas in der Art machen:

WebClient wClient = new WebClient();
labelNews.Text = wClient.DownloadString("Pfad zur Html Datei");
wClient.Close();

Somit wäre dann das Label ja transparent und du hättest nicht dieses lästige Webbrowser Control.

Der C# Code ist gerade nur aus meinern Kopf es kann sein das da noch ein kleiner Fehler drin ist aber das sollte dann deine IDE dir schon sagen. :P

See Ya!
09/11/2011 15:05 StridingGiant#3
Du könntest für News auch einfach ein Picture mit allen Info's auf deinen Webserver laden und dieses dann in einer pictureBox anzeigen lassen, so hast du nur das Picture das du dann halt einfach austauschen könntest, wenn es was neues zu melden gibt ;)
09/11/2011 15:10 dr0n3#4
@Devil
Dann erhalte ich den html-Quelltext. Eine einfache Textdatei würde aber die Links nichtmehr enthalten.

@Console:
Die Möglichkeit hatte ich bereits in Betracht gezogen. Aber für nen neues Bild braucht man länger als für 5 Zeilen html-Code^^

@all:
Zu erwähnen wäre noch, dass der html-Code Links zum Forum enthält. Die machen sich auf Bildern nicht gut.
09/11/2011 15:13 StridingGiant#5
Dann musst du das halt in labeln oder einer RichtextBox ausgeben lassen, obwohl das dann nicht so schick aussieht...
09/11/2011 15:16 Devil589#6
Ich sagte ja auch nicht dass du eine Textdatei nutzen sollst, sondern den Pfad zu der Html Datei angeben sollst wo die jeweilige News drin steht.
So habe ich es auch in einem Programm bei mir gemacht, und es wird so angezeigt als würde ich mit meinem normalen Browser auf die Seite gehen.
Und Links anzeigen sollte somit auch kein Problem sein, das einzige Problem wird dann eher sein, dass die User nicht auf den Link klicken können.
D.h. der Link muss dann kopiert werden und dann selber in einen Browser eingefügt werden.

EDIT: Wenn du es z.B. in einem Label ausgibst, bleibt die Formatierung der Html Datei erhalten.
09/11/2011 15:19 dr0n3#7
Quote:
Originally Posted by Devil589 View Post
Ich sagte ja auch nicht dass du eine Textdatei nutzen sollst, sondern den Pfad zu der Html Datei angeben sollst wo die jeweilige News drin steht.
So habe ich es auch in einem Programm bei mir gemacht, und es wird so angezeigt als würde ich mit meinem normalen Browser auf die Seite gehen.
Und Links anzeigen sollte somit auch kein Problem sein, das einzige Problem wird dann eher sein, dass die User nicht auf den Link klicken können.
D.h. der Link muss dann kopiert werden und dann selber in einen Browser eingefügt werden.

EDIT: Wenn du es z.B. in einem Label ausgibst, bleibt die Formatierung der Html Datei erhalten.
Das Problem wäre eben, dass die ganzen html-tags erhalten bleiben. Es sieht bei mir also nicht wie im Webbrowser, sondern eher wie im Editor aus.
09/11/2011 15:25 Devil589#8
Hm ok, dann würde mir halt nur einfallen dass du halt wie du schon wolltest das "hässlige" Webbrowser Control nutzt.
Nur das mit der leichten Transparenz wie von dir beschrieben versteh ich leider nicht so ganz.
Kannst du diesbezüglich einen Screenshot posten damit man direkt sieht was du meinst, denn dann könnte man sich evtl. noch etwas überlegen.
09/11/2011 15:30 dr0n3#9
Der Hintergrund und das restliche Design wären vorerst zu vernachlässigen^^
[Only registered and activated users can see links. Click Here To Register...]
09/11/2011 15:35 Devil589#10
Also wenn ich es nun richtig verstanden habe, möchtest du den weißen Teil am besten auch transparent haben damit man den Hintergrund (Koala) sieht.
Falls dies der Fall ist kannst du es ja "faken" in dem du einfach an diese Stelle den gleichen Teil des Hintergrundbildes setzt. (in der Html Datei)
Denn so weit ich weiß ist es nicht möglich den Hintergrund von Html Body Tags auf transparent zu setzen.
09/11/2011 15:38 dr0n3#11
Quote:
Originally Posted by Devil589 View Post
Also wenn ich es nun richtig verstanden habe, möchtest du den weißen Teil am besten auch transparent haben damit man den Hintergrund (Koala) sieht.
Falls dies der Fall ist kannst du es ja "faken" in dem du einfach an diese Stelle den gleichen Teil des Hintergrundbildes setzt. (in der Html Datei)
Denn so weit ich weiß ist es nicht möglich den Hintergrund von Html Body Tags auf transparent zu setzen.
Der Koala ist nur nen Testbild ;D. Ich werd mich mal am faken versuchen.
Danke.
09/11/2011 15:43 Devil589#12
Was mir noch einfällt, du kannst dann dem Hintergrundbild noch in der Html Datei die Css Eigenschaft Background fixed oder Position fixed (ich weiß gerade nicht welche davon die richtige ist) geben, dann bleibt der Hintergrund immer an der gleichen Stelle.
Denn falls es mal vorkommen sollte das man bei dem Webbrowser Control scrollen kann / soll würde der Hintergrund sich ja verschieben und dadurch würde es ja auffallen das es ein "Fake" ist.

See Ya!
09/11/2011 15:51 Evil Deeds#13
Quote:
Originally Posted by dr0n3 View Post
@Devil
Dann erhalte ich den html-Quelltext. Eine einfache Textdatei würde aber die Links nichtmehr enthalten.

@Console:
Die Möglichkeit hatte ich bereits in Betracht gezogen. Aber für nen neues Bild braucht man länger als für 5 Zeilen html-Code^^

@all:
Zu erwähnen wäre noch, dass der html-Code Links zum Forum enthält. Die machen sich auf Bildern nicht gut.
Du kannst das Bild aber auch speichern und dann nach Belieben verändern. Z.B. mit Photoshop.
09/11/2011 15:55 Devil589#14
Quote:
Originally Posted by AndroidPower View Post
Du kannst das Bild aber auch speichern und dann nach Belieben verändern. Z.B. mit Photoshop.
Dann ist es aber nicht mehr möglich die Links auf der Seite anzuklicken und so wie ich verstanden habe, soll dies aber möglich sein.
Und Bilder runterladen dauert in der Regel länger als reinen Text (was Html in dem Sinne ja ist, nur dass das Webbrowser Control diesen vorher verarbeitet).
09/11/2011 16:00 Evil Deeds#15
Quote:
Originally Posted by Devil589 View Post
Dann ist es aber nicht mehr möglich die Links auf der Seite anzuklicken und so wie ich verstanden habe, soll dies aber möglich sein.
Und Bilder runterladen dauert in der Regel länger als reinen Text (was Html in dem Sinne ja ist, nur dass das Webbrowser Control diesen vorher verarbeitet).
Das mit den Links stimmt schon..

War aber auch nur ein Lösungsvorschlag bzgl. des Bildes ;)