Wilson,
What exactly "doesn't work"?
Taking a guess as to what the problem might be:
If you are trying to enter a number you'll need to either do something like
this.NumericValue = this.NumericValue * 10 + this.NewDigit
to logically shift left by one decimal digit. Or just concatenate the value to the end of the input string and
this.NumericValue = val( this.StringValue )
>I create a keypad for touch screen. It works fine for char field but when the field is numeric. It doesn't work.