Tim,
Unless it's some funky touchscreen, it should be handled like a mouse. That means you don't need to do any special programming to make it work, just handle the buttons on the keypad with the mouse event handlers (I use mouseup, because then if a person hits the wrong button it lets him move off it before he lets up, so it cuts bad clicks).
Without the code, we can't see what's wrong, but basically what you want to do is when a mouse event is fired for the keypad, you'll add the character represented by the button to the textbox's text. So, if the user hit's button "4" then you would add a 4 to the text.
When a clear or backspace button is clicked, you would just change the textbox text appropriately.
Good luck, and pls post the code if you need more help.
Incidentally, if you're like us and need to run on a shoestring budget, we go with Magic-Touch touchscreen addons. They're cheaper then new ones, and sit on top of the monitor. You do get some paralax, although calibration is easy and helps. I don't have it at my fingertips, but if you need our 3rd party supplier, let me know and I'll send you the contact information I have. It might take a day or so to find, though.
As to the decimal point, I would use a property for the data, then have the property transform the data & update the textbox when it's set. It's in vb.net first, then converted to c# for you.
vb.net
Private vData As String = ""
Public Property Data As String
Get
Return vData
End Get
Set(ByVal value As String)
vData = value
Dim temp As String = Data
Do While temp.Length < 3
temp = "0" + temp
Loop
temp = temp.Substring(0, temp.Length - 2) + "." + temp.Substring(temp.Length - 2, 2)
textedit1.text = temp
End Set
End Property
c#
private string vData = "";
public string Data {
get { return vData; }
set {
vData = value;
string temp = Data;
while (temp.Length < 3) {
temp = "0" + temp;
}
temp = temp.Substring(0, temp.Length - 2) + "." + temp.Substring(temp.Length - 2, 2);
textedit1.text = temp;
}
}