Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
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 7:24am
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 3

Change the CharacterCasing property of the TextBox to "Upper"
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

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 Sergey Alexandrovich Kryukov 540
1 OriginalGriff 290
2 CPallini 240
3 BillWoodruff 155
4 ChauhanAjay 149
0 OriginalGriff 6,609
1 Sergey Alexandrovich Kryukov 6,240
2 CPallini 5,180
3 George Jonsson 3,574
4 Gihan Liyanage 2,522


Advertise | Privacy | Mobile
Web02 | 2.8.140916.1 | Last Updated 11 Jan 2013
Copyright © CodeProject, 1999-2014
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