我需要使用MaskedTextBox
的基本功能。我可以使用5位数的面具但是我想要改变的东西很少。现在这个盒子看起来像这样:
有两件事我不喜欢。首先 - Prompt char
是低位_
。我删除了字段值以便将其保留为空(因为我希望它显示),但这会产生错误 - The property value is invalid
。那么有没有办法摆脱这些下划线?第二 - 我将这个值用于我的一个整数类型的实体属性,所以我做了一个转换:
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;
}
除非有人决定进行实验并插入类似_1__5_
之类的内容,否则转换失败,但是首先我希望能够一个接一个地写入数字。这也可能吗?
答案 0 :(得分:3)
看起来你的MaskedEdit比处理你特定范围的问题更麻烦。使用的更好控制可能是NumericUpDown。
NumericUpDown的好处:
答案 1 :(得分:2)
因此,要使_
成为空格,您只需将掩码字符设置为单个空格即可。要解决转换错误,只需将AllowPromptAsInput
属性设置为false
,这样用户就无法真正得到类似示例的内容。