Využij akce až 80 % zdarma při nákupu e-learningu. Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
discount week 80
Avatar
ostrozan
Redaktor
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
Luboš Běhounek Satik
Autoredaktor
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
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Milan Křepelka
Redaktor
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ý
Redaktor
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
Redaktor
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.