NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Avatar
ostrozan
Tvůrce
Avatar
ostrozan:23.6.2014 10:07

chtěl jsem na textBoxu filtrovat znaky, aby bral jen číslice
a zkusil jsem to takto:

private void textBox_TextChanged(object sender, TextChangedEventArgs e)
       {
           TextBox tb = sender as TextBox;
           foreach (char c in tb.Text)
           {
               if (!char.IsDigit(c))
               {
                   tb.Text.Remove(tb.Text.Length-1);
               }
           }

       }

mělo by to vymazat poslední zadaný znak, pokud není číslice, ale nevymaže nic

 
Odpovědět
23.6.2014 10:07
Avatar
Odpovídá na ostrozan
Luboš Běhounek Satik:23.6.2014 10:14

Mrkni do manuálu:
http://msdn.microsoft.com/….110%29.aspx

"Returns a new string in which a specified number of characters in the current instance beginning at a specified position have been deleted."

Takže takhle:

tb.Text = tb.Text.Remove(tb.Text.Length-1);
Nahoru Odpovědět
23.6.2014 10:14
https://www.facebook.com/peasantsandcastles/
Avatar
Lu Kiss
Člen
Avatar
Odpovídá na ostrozan
Lu Kiss:23.6.2014 10:15

.

Editováno 23.6.2014 10:16
 
Nahoru Odpovědět
23.6.2014 10:15
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:23.6.2014 10:15

string je takzvaný immutable typ, tedy remove nezpracovává aktuální string, ale vrací nový - upravený

i tak bys ses potýkal s problémy, měnit zdroj foreach-e je zakázáno

 
Nahoru Odpovědět
23.6.2014 10:15
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na ostrozan
Jan Vargovský:23.6.2014 12:49
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    if (!char.IsDigit(e.Text, 0)) e.Handled = true;
}
 
Nahoru Odpovědět
23.6.2014 12:49
Avatar
ostrozan
Tvůrce
Avatar
ostrozan:23.6.2014 13:42

Dík - všem

 
Nahoru Odpovědět
23.6.2014 13:42
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.