目前,如果文本框中只有一个数字,我的程序会崩溃。例如。用户将'6'放入日文本框(应该是两位数),当他/她单击“转换”按钮时程序将崩溃。它必须是两位数,否则程序会崩溃......
顺便说一下,我的应用程序是时间转换器。提前感谢:)
答案 0 :(得分:4)
必须是两位数,否则程序崩溃
这是一个错误,修复你的程序。当程序同样可以理解为另一种格式时,使用户符合某种任意格式是非常不礼貌的。
没有理由为什么输入一个数字而不是两个数字会导致错误。
答案 1 :(得分:1)
如果要解析日期,可以使用DateTime.TryParse。以下是其他几种方法:
On Key Pressed
- 事件,以便您可以决定要允许的内容。答案 2 :(得分:1)
你这样检查:
if (TheDayTextbox.Text.Length != 2) {
// illegal length
}
当然,如果它更短,你可以解决它:
string day = TheDayTextbox.Text;
if (day.Length == 1) {
day = "0" + day;
}
答案 3 :(得分:0)
这就是我们所说的验证,这是非常重要的事情。
你永远不应该编写任何假设的代码,首先验证它!
例如:
if( myTextBox.Text.Length > 1 ) {
// continue the process
} else {
MsgBox.Show("Can you please do things right for once?");
}
将完成您想要的技巧,但您可以利用.NET Framework上的Validators。
告诉我们它是Windows还是网页,我们将帮助您验证部分。
答案 4 :(得分:0)
假设这是一个网络应用程序 - 您可以在javascript变量中获取textbox的值,然后使用javascript中的“length”属性检查长度。
答案 5 :(得分:0)
如果您正在谈论WinForms,那么您可以查看textBox.Text.Length
if(textBox1.Text.Length <= 1)
{
// handle error
}
答案 6 :(得分:0)
int res = -1;
if(textBox.Text.Length == 2) {
Int32.tryParse(textBox.Text, res)
}
if(res > 0) {
// convert
}