Reputation: 9866
I need to use basic functionality of the MaskedTextBox
. I can get use of the 5 digit mask but there are few things that I want to change. Right now the box is looking like this:
and there are two thing I don't like. First - the Prompt char
which is undersoce _
. I deleted the field value in order to leave it empty (as I would like it to appear) but this gives an error - The property value is invalid
. So is there a way to get rid of these underscores? And second - I use this value for one of my entity properties which is of integer type so I make a convertion :
if (txtNumOfAreas.Text != "")
{
string temp = txtNumOfAreas.Text;
bool result = Int32.TryParse(temp, out convertValue);
if (result)
{
entity.AreasCnt = convertValue;
}
else
{
MessageBox.Show(Resources.ERROR_SAVE, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
else
{
entity.AreasCnt = null;
}
which works fine unless someone decides to make experiments and insert something like _1__5_
then the conversion fails, but at first place I would like to make possible to write the digits only one after another. So is this possible too?
Upvotes: 4
Views: 2148
Reputation: 67898
So to get the _
to be a space you just need to set the mask character to a single space. And to resolve the conversion error, just set the AllowPromptAsInput
property to false
so that the user can't actually end up with something like your example.
Upvotes: 3
Reputation: 81429
It looks like your MaskedEdit is more trouble than it's worth to deal with your particular range of issues. A better control to use might be the NumericUpDown.
The upside to NumericUpDown:
Upvotes: 3