C# - FromHtml .Net Label Problem



  • Hallo Leute,

    ich habe derzeit ein Problem ich möchte eine Art WYSIWYG Editor basteln,
    der mir einen in einer Textbox geschriebenen Text direkt in das Html Format umwandelt, das heißt im Klartext der geschriebene Text muss mit IndexOf erstmal
    nachdem # Char durchsucht werden, danach muss ab der gefunden Position
    überprüft werden ob ein gültiger Hex-Code vorliegt, also Position IndexOf
    (falls nicht kleiner als 0) bis IndexOf + 6. Dieser im Suchbereich liegende Text
    darf keine Buchstaben enthalten was sich ziemlich leicht überprüfen lässt,
    nun liegt aber mein Problem das ich mein LabelElement ja nicht einfärben kann
    bzw. es sollte ja nicht nur eine Farbe annehmen sondern Substring für Substring
    seine eigene

    #FF0000Dieser Text hat die Farbe Rot, #00FF00dieser Abschnitt ist gelb,
    #0000FFdieser wiederum grün.

    Wie bewerkstellige ich das ohne unnötig zusätzliche Label zu verwenden ?

    Danke im Voraus :p



  • Andere Frage, gibt es für die Aufgabenstellung einen Grund? Ich mein, schwer vorstellbar dass sich jemand vor seine Anwendung setzt und sagen wir im Hilfe Dialog Wort für Wort eine andere Farbe setzt.



  • 1. Für diese Aufgabe ist das RichTextBox-Element sehr viel besser geeignet als die TextBox.

    2. HTML ist eine textbasierte Auszeichnungssprache zur Strukturierung von Inhalten. Das Aussehen einzelner ausgezeichneter Abschnitte wird in CSS festgelegt, nicht in HTML.

    3. #00FF00 ist nicht gelb sondern grün und #0000FF nicht grün sondern blau.



  • Jason_Gregory schrieb:

    Hallo Leute,

    ich habe derzeit ein Problem ich möchte eine Art WYSIWYG Editor basteln,
    der mir einen in einer Textbox geschriebenen Text direkt in das Html Format umwandelt, das heißt im Klartext der geschriebene Text muss mit IndexOf erstmal
    nachdem # Char durchsucht werden, danach muss ab der gefunden Position
    überprüft werden ob ein gültiger Hex-Code vorliegt, also Position IndexOf
    (falls nicht kleiner als 0) bis IndexOf + 6. Dieser im Suchbereich liegende Text
    darf keine Buchstaben enthalten was sich ziemlich leicht überprüfen lässt,
    nun liegt aber mein Problem das ich mein LabelElement ja nicht einfärben kann
    bzw. es sollte ja nicht nur eine Farbe annehmen sondern Substring für Substring
    seine eigene

    #FF0000Dieser Text hat die Farbe Rot, #00FF00dieser Abschnitt ist gelb,
    #0000FFdieser wiederum grün.

    Wie bewerkstellige ich das ohne unnötig zusätzliche Label zu verwenden ?

    Danke im Voraus :p

    WYSIWYG für HTML? das geht schon mal garnicht!



  • Warum nicht einfach das WebBrowser-Element (als Vorschau) verwenden?



  • Es ist kein WYSIWYG für Web-Programmiersprachen (PHP, Javascript etc.),
    sondern ein WYSIWYG für eine Anwendung, weshalb ich nicht mit CSS arbeiten kann
    das sollte aber eigentlich aus dem Beispiel ersichtlich sein,
    ansonsten hätte ich die üblichen Tags verwendet. 😉

    Auch rede ich nicht davon das die Textbox meine Basis ist, sondern der
    Text wird von eben dieser ausgelesen und in ein Label "gesteckt".

    Vielleicht wird das Problem ersichtlich wenn ich euch mal einen Ausschnitt
    zeige.

    if (ChatBoxTextInput.Text.IndexOf('#') != -1)
    {
    try 
    { 
    Color HexColor = ColorTranslator.FromHtml(N_ChatBoxLabel.Text.Substring(ChatBoxTextInput.Text.IndexOf('#'), ChatBoxTextInput.Text.IndexOf('#') + 7));
    N_ChatBoxLabel.Text = N_ChatBoxLabel.Text.Remove(ChatBoxTextInput.Text.IndexOf('#'), 7);
    CreateLabel(HexColor); -- Erstellung eines neuen Label-Steuerelements
    }
    catch (Exception) { \* Fehlerbehandlung *\ }
    }
    

    Während der Erstellung des neuen Labels setzte ich den ForeColor Wert auf den von ColorTranslator ermittelten Wert und arbeite mit N_ChatBoxLabel weiter, das nun die Farbe HexColor besitzt, sobald ein neuer gültiger Hexwert erkannt wird,
    beginnt das ganze von vorne.

    Auch wenn es nichts mit dem eigentlichen Thema am Hut hat, labersack 4.0 wieso sollte ein HTML WYSISWYG nicht funktionieren ? Da irrst du dich aber arg !


Anmelden zum Antworten