我正在验证文本框如下所示,假设在点击“确定”后会弹出带有无效号码信息的覆盖文本框条目,我希望以前有效的条目被覆盖显示。
我怎么能在C#中做到这一点?
private void cor_o_gain_Validating(object sender, CancelEventArgs e)
{
try
{
int entered = int.Parse(cor_o_gain.Text);
if (entered > 255)
{
e.Cancel = true;
MessageBox.Show("Enter the number between 0 and 255");
}
}
catch (FormatException)
{
// e.Cancel = true;
}
}
答案 0 :(得分:6)
您也可以简单地调用撤消()方法(如果您正在谈论Windows窗体TextBox)
答案 1 :(得分:1)
没有默认的内置方法可以做到这一点。你只需要自己保存旧值(在某个变量中),然后手动恢复它。
答案 2 :(得分:1)
使用DataBinding,它会为您完成,它有一个解析数据的方法,可以让您执行验证
答案 3 :(得分:1)
为什么不在Validated事件发生时只存储当前文本,以便下次使用它?
答案 4 :(得分:1)
如 Codymanix
所述将e.Cancel = true;
替换为cor_o_gain.Undo();