C# ændre farve i specialt ord

Tags:    c#

Hej alle sammen.

Hvordan kan man ændre en farve i et ord som fx "google" så den bliver rød (i textbox).

Har prøvet Google men kunne ikke finde noget som virker.



6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 23 karma
Sorter efter stemmer Sorter efter dato
Brug en richedit (RichTextBox) og brug regular expressions (System.Text.RegularExpressions) til at finde positionen på "Google"-substring'en i teksten (richTextBox1.Text). Så markerer du hurtigt substringen, sætter tekstfarven for det markerede til rød, og fjerner markeringen. Du kan evt. skjule tekstboksen mens alt dette bliver gjort.

Det er en lidt klodset måde, men ellers er du nødt til at programmere din egen tekstboks.



Indlæg senest redigeret d. 29.08.2013 20:22 af Bruger #8985
Hej alle sammen.

Hvordan kan man ændre en farve i et ord som fx "google" så den bliver rød (i textbox).

Har prøvet Google men kunne ikke finde noget som virker.


Som Thomas skriver så er den nemme løsning et richtext felt du bruger som om det er en textbox, dvs. een linie højt osv. Alternativt skal du lave din egen tekstboks, overstyre tegnerutinen og selv tegne teksten i boksen. Så skal du bruge et regulært udtryk til at finde dit/dine ord og tegne dem med en anden farve. Det kan lade sig gøre, men det nemmeste er vist at finde noget der kan det i forvejen.



Jeg har lavet et lille eksempel for at give dig en idé om, hvordan det kan gøres. Denne farver kun den første instans af ordet "Google" richEdit'en rød, så hvis du vil farve alle forekomster røde skal du nok bruge regulære udtryk; derfor har jeg puttet en using System.Text.RegularExpressions; op for oven.

Fold kodeboks ind/udCSharp kode 




Snakker vi Windows Forms, en web side eller hvad arbejder du med?



Windows Form.



Du kan kan sætte
Fold kodeboks ind/udCSharp kode 




t