02. november 2007 - 18:53Der er
11 kommentarer og 1 løsning
Automatisk indsætte en streg i textbox efter hvert andet tegn
Jeg har en textbox som kan indeholde 20 tegn. Jeg vil gerne have lavet det sådan, at imens jeg indtaster tegn i denne box, så kommer der automatisk en bindestreg "-" efter hvert andet tegn. Og stregen skal også forsvinde hvis man sletter noget igen.
Jeg er helt enig med nielle, men denne situation er præcis det man skal bruge en stringbuilder til... string er desværre usandsynligt langsom til at lave += fordi den er immutable, og derfor kan koden give problemer med lange tekster.
Jeg kan ikke helt huske syntaksen, men prøv noget lignende af det her i stedet:
TextBox tb = sender as TextBox; int currPos = tb.SelectionStart;
string text = tb.Text; text = text.Replace("-", "");
StringBuilder textFormated = new StringBuilder(); for (int i = 0; i < text.Length; i++) { textFormated.Append(text[i]); if (i % 2 == 1) textFormated.Append('-'); }
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.