Rozhodl jsem se udělat si inventuru tématu. To ostatně dělám vždycky, když narazím na (pro sebe) nové věci. V první řadě jsem si napsal testovací úlohu na to, co vlastně vzniká při ťukání do kláves, když plním TextBox. Výsledkem je pro mne poznatek, že pro kontrolu plnění TextBoxu po znaku je rozumné zásadně používat KeyPress, nikoliv KeyCode. Druhý poznatek z tohoto testu je nalezení třídy KeyCodeConstants, která umožňuje do textů pohodlně vkládat nejrůznější speciální znaky (včetně řídících).
Následně jsem si dal do pořádku rutiny pro plnění TextBoxů formátovanou informací. Po léta jsem to řešil případ od případu a vždycky jsem to dost pracně ladil. Tak jsem to vzal z gruntu a vnesl jsem si do hry dostatečný a jednotný řád. Kontrolu obsahu TextBoxu provádím při události Exit, a to pokusem o nastavení předepsaného formátu. Filtruji vše, co pokládám za užitečné odfiltrovat a v kladném případě změním obsah TextBoxu podle tohoto formátu. Pokud při tom narazím, prohlásím vstup za vadný a nedovolím TextBox opustit. Výsledkem je, že obsah TextBoxu je potom vždy korektní a automaticky zpracovatelný v dalších fázích programu.
Jak test kláves, tak vzorový formulář pro sběr formátované informace jsou obsahem sešitu v příloze.
Příloha: 29335_editovanitextboxu.zip (40kB, staženo 28x) citovat