Avatar billede senil Nybegynder
27. september 2005 - 19:38 Der er 3 kommentarer og
1 løsning

Hvordan sletter man noget selected text fra en RichBoxText?

Jeg er igang med at lære c# så jeg har et lille spørgsmål.
Jeg har en RichTextBox med noget text.
Jeg ville gerne kunne slette det stykke text som man har markeret(tryk musen ned og markere texten og slip museknappen).
Jeg har lavet en højre-musseknap menu med muligheden "Slet".
Jeg har også en funktion/methode til til slet.
Jeg vil gerne kunne få start index og slut index af denne markering. Hvordan kan dette løses?
Skal jeg have en event for mus ned og mus op, eller kan det løses inden for slet methoden.
Avatar billede Spotgun Seniormester
27. september 2005 - 21:36 #1
Prøv med den her:

richTextBox1.SelectedText = "";

Det burde fjerne det tekst der er markeret af brugeren.
Avatar billede senil Nybegynder
27. september 2005 - 23:11 #2
...hvordan? Så vidt jeg kan se så skal textbox'en Remove methode bruge en int StartIndex. Hvordan får jeg fat i den.
Jeg har dog løst det ved at:

int length=Int32.Parse(MyAllText.SelectedText.Length.ToString());
string tmpDelete=MyAllText.SelectedText; //henter de markerede text ned i en string
Start=MyAllText.Text.IndexOf(tmpDelete); // søger efter det markerede og returnere index
MyAllText.Remove(Start,length);//fjerner fra Start og length frem

Problemet er nu at hvis det samme ord som man ønsker at slette, fremtræder i teksten 2 eller flere gange og ønsker at slette den sidste gang så slettes den første optredne.
Eks:
tekst:123abc123
og jeg ønsker at slette "23" til sidst, så får jeg
1abc123 og det er ikke godt.
Avatar billede Spotgun Seniormester
28. september 2005 - 08:08 #3
Du har din RichTextBox. Du markerer et stykke tekst, og vælger en funktion et sted der skal fjerne denne tekst. I denne funktion putter du linien jeg postede før ind,0 og ikke andet (medmindre der selvfølgelig skal ske andre ting). Jeg har selv testet på en richtextbox hvor jeg havde lavet en knap nedenunder til at slette markeringen. Det fungerede helt efter hensigten.

Det eneste min funktion gør, er at erstatte den markerede tekst med "" - dvs. ingenting. Jeg kan ikke helt se nemmere måder at klare det på. Jeg prøvede også at kigge lidt på remove-metoden, men for mig at se er der ingen grund til at bruge den, når det andet ser ud til at virke lige så godt.
Avatar billede senil Nybegynder
28. september 2005 - 12:39 #4
godt set... Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester