Why use a single text box to hold two values?
All that does is make it harder for the user as he has to remember to separate the two values properly, and that can be complicated to handle.
Instead, I would use two NumericUpDown controls - one for each value. They are a lot easier for the user to play with!
If I can't use two up down controls, then I'd use two textboxes or masked text boxes instead. The one thing I wouldn't do is try to get two inputs in the same textbox!
"The control is first initialized to 0.00 where I have set the decimals to 2.
When user keys in a value like 365.40, he/she has to delete the 0's and the decimal point in there already. Which is what I want to avoid."
In which case you are going to be better off using a textbox - but handle the KeyPress method, and check for '.' - if you get it, use the TextBox SelectionStart and SelectionLength properties
private void myTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '.')
{
int index = myTextBox.Text.IndexOf('.');
if (index >= 0)
{
index++;
myTextBox.SelectionStart = index;
myTextBox.SelectionLength = myTextBox.Text.Length - index;
e.Handled = true;
}
}
}
That way, when the user presses '.', the cursor will more immediately after the existing decimal point, and the digits to the right will be selected - so the next digit he types will delete the existing fraction part of the number.