Autor Beitrag
drems
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mo 16.07.12 00:57 
Hallo ich bin noch relativ unerfahren in C# bräuchte mal etwas Hilfe bei einem Projekt für die Schule. Bei dem Projekt geht es um folgendes:
Es soll eine Windows Forms mit 4 Richtextboxen und 2 Textboxen erstellt werden, in den 4 Richtextboxen soll auf Knopfdruck der markierte Text rot gefärbt werden können(den Text ist je nach Belieben unterschiedlich lang). Am Ende soll der Text aus den 2 Textboxen und den 4 Richtextboxen untereinander in einem Internetbrowser(Google Chrome am besten) anschaubar sein. Leider habe ich überhaupt keine Ahnung wie ich das mit dem Browser realisieren soll.
Würde super von euch, wenn ihr ein paar Codebeispiele oder Links zu dem Thema hättet, da ich bisher leider wenig hilfreiches gefunden habe.


Moderiert von user profile iconKha: Topic aus C# - Die Sprache verschoben am Mo 16.07.2012 um 01:31
Moderiert von user profile iconTh69: Topic aus Sonstiges (.NET) verschoben am Mo 16.07.2012 um 09:20
Moderiert von user profile iconTh69: Titel geändert.
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mo 16.07.12 02:39 
Wie genau meinst du das, den Text im Browser anzeigen?

Einfach nur untereinander normalen Text im Standart-Browser?

So direkt habe ich keine Idee, allerdings habe ich einen sehr einfach zu verstehenden Umweg. Dazu brauchst du nur minimale HTML-Kenntnisse und ein bisschen von C#, was man früher oder später sowieso immer braucht.

Hab eben diese Methode geschrieben. Ist nicht perfekt, ich würde z.B. noch Umlaute einfügen, die im Text gesucht und durch die entsprechenden html-Tags ersetzt werden, damit der Text auch korrekt geschrieben wird.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
        static void ShowTextToBrowser(params string[] Text)
        {
            string htmlCode = "<html><body>";
            for (int i = 0; i < Text.Length; i++)
            {
                htmlCode += Text[i];
                if (i != Text.Length - 1) htmlCode += "<br>";
            }
            htmlCode += "</body></html>";
            string path = System.IO.Path.Combine(Environment.CurrentDirectory, "HtmlSeite.html");
            System.IO.File.WriteAllText(path, htmlCode);
            System.Diagnostics.Process.Start(path);
            System.IO.File.Delete(path);
        }


Die kleine Methode nimmt alle Text-Zeilen an, schreibt sie zwischen die entsprechenden html-Tags, trennt sie durch einen Zeilenumbruch und zeigt die Datei anschließend via Process.Start an.
Anschließend wird die erstellte Datei wieder gelöscht.
Ich hab geschaut, ob man das auch aus einem Stream heraus machen kann, allerdings hab ich dazu nix gefunden und ich wollte jetzt auch nicht ewig in dem Problem hängen, hab meinen Kopf gerade in einem eigenen Projekt und der raucht. ^^


Das so zu machen ist zwar nicht besonders elegant und wenn ich so etwas in einem eigenen Programm brauchen würde, dann würde ich mir einen anderen Weg suchen.
Aber jetzt in diesem Moment habe ich keine andere Idee und kann dir daher nur das zeigen.


Gruß
Vielleicht reicht das ja schon aus.^^