I have a mask that is  “AAA” that only allows  3 alphabetic  characters.  This mask works as expected.
Then I do “>A<AA” where the first alphabetic character is capitalized and the rest are lower case.  Except the number of characters allow me to go on forever?
Also Using the masks in a DesktopListbox do not allow me to use a validation event like a normal textboxcontrol.  Is there a way to expose that event?
             
            
              
              
              
            
            
           
          
            
            
              
This is not too helpful, but I would confirm the behavior. The presence of “<” or “>” destroys the “entry is mandatory” effect of any A that follows. “>###” does not destroy the mandatory effect of the digit specifier. You cannot type as many digits as you might want.
But once the mask contains a “<”. any “A” or “a” that follows has changed in meaning –  it now means type however many characters as you want.
             
            
              
              
              
            
            
           
          
            
            
              You might get the effect you need by coding in the TextChanged Event.
put something like this in there:
Me.Text = Me.Text.Left(3)
Var char() As String
char() = Me.Text.ToArray("")
If Me.Text.Length > 0 Then char(0) = char(0).Uppercase
If Me.Text.Length > 1 Then char(1) = char(1).Lowercase
If Me.Text.Length > 2 Then char(2) = char(2).Lowercase
Me.Text = String.FromArray(char, "")
             
            
              
              
              1 Like
            
            
           
          
            
            
              Thank you Robert for the nice solution.  I was doing this to understand the black magic art of Masks.  It seems to me that the Length would always win out over any other option.  Almost seems to be a bug.  “>####”  works without the  > but doesn’t with… and it didn’t capitalize my numbers??? grin
Dale
             
            
              
              
              
            
            
           
          
            
            
              I don’t have a better solution than the TextChanged approach, but just chiming in that I have been trying to wrap my head around text masks for a literal decade and I just don’t get it.
I don’t know if it’s a buggy implementation or if it’s just my feeble brain that can’t grasp it, but this is one area where we need much, much more detailed documentation.
             
            
              
              
              
            
            
           
          
            
            
              
you have lowercase numbers ? 
             
            
              
              
              1 Like