Click here to Skip to main content
11,496,146 members (635 online)
The site is currently in read-only mode for maintenance. Posting of new items will be available again shortly.
See more: C# WPF
I am working on a textbox using WPF where I want to press only A,B,C,D,E,F and 0-9 that means hexadecimal number. But in my keydown event I can't disable lower char a,b,c,d,e,f. My code is belown:
private void txtHex_KeyDown(object sender, KeyEventArgs e) 
{
         if (e.Key >= Key.A && e.Key <= Key.F)
         {
             e.Handled = false;
         }
 
         else if (e.Key < Key.D0 || e.Key > Key.D9)
         {
             if (e.Key < Key.NumPad0 || e.Key > Key.NumPad9)
             {
                 e.Handled = true;
             }
         }
}
How can I solve this?
Thanks in advance.
Posted 11-Jan-13 8:24am
Change the CharacterCasing property of the TextBox to "Upper"
  Permalink  
Instead of using KeyDown, try using PreviewTextInput[^].

This event let's you to distinguish small and capital letters because it reveals the input text and you can still cancel the input via Handled property.
  Permalink  
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 RyanDev 230
1 Sergey Alexandrovich Kryukov 114
2 Richard Deeming 100
3 OriginalGriff 89
4 Mostafa Asaduzzaman 59
0 Sergey Alexandrovich Kryukov 10,401
1 OriginalGriff 8,910
2 Sascha Lefèvre 3,899
3 Maciej Los 3,422
4 Richard Deeming 2,600


Advertise | Privacy | Mobile
Web03 | 2.8.150520.1 | Last Updated 11 Jan 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100