Textinhalt (RichtTextBox) -> Replace mit einem Image

  • C#

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Annoxoli.

    Textinhalt (RichtTextBox) -> Replace mit einem Image

    Moin moin,

    kaum zu glauben, das so eine kleine sache, die arbeit so aufhalten kann.
    Mein vorhaben:
    Ich habe eine RichTextBox mit Inhalt.
    Wenn dort jedoch bestimmte zeichen vorkommen wie "C#" soll es durch ein Image ersetz werden.
    Jedoch stellt sich das schwieriger raus, als ich dachte!

    Gibt es da ggf. irgendwas, was ich zu beachten habe ?
    ist das rein technisch überhaupt möglich ? (nicht das ich mich hier umsonst abracker ^^)

    für kleine Tipps / Anregungen wäre ich sehr dankbar!

    Gruß
    Such mal im Forum nach Smiley in RTB einfügen, da lief kürzlich ein umfangreicher Thread.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Den Code habe ich bereits gefunden, jedoch ohne erfolg:

    Quellcode

    1. Public Function replace(ByVal wort As String, ByVal neueswort As Bitmap)
    2. Dim Index As Integer = RichTextBox1.Text.IndexOf(wort)
    3. Dim bmp As Bitmap = My.Resources.smileyy
    4. Do Until Index = -1
    5. RichTextBox1.SelectionStart = Index
    6. RichTextBox1.SelectionLength = wort.Length
    7. RichTextBox1.SelectedText = ""
    8. Clipboard.SetImage(bmp)
    9. RichTextBox1.SelectionStart = Index
    10. RichTextBox1.Paste()
    11. Index = RichTextBox1.Text.IndexOf(wort, Index + 1)
    12. Loop
    13. End Function


    bei diesem Code, passiert rein gar nix.... (leider ^^)


    Problenm war:
    Die RTB war ReadOnly ->

    Quellcode

    1. Image img = Image.FromFile(Environment.CurrentDirectory + @"\bla.gif");
    2. Bitmap image = new Bitmap(img);
    3. rtbConversation.SelectionStart = rtbConversation.Find("C#", RichTextBoxFinds.WholeWord);
    4. rtbConversation.SelectionLength = 2;
    5. Clipboard.SetImage(image);
    6. this.rtbConversation.Paste();

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Annoxoli“ ()