希望你们一切顺利。我想请教你一个建议。
我正在寻找一种在执行OnClick按钮之前验证数据的方法。 我确实有一些ComboBoxes可供选择。目前我已经使用了一些解决方案,它确实看起来很肮脏"我并不高兴。
目前我正在使用类似的东西:
if(box1 == null)
{
MessageBox.Show("Error 1");
}
if(box2 == null)
{
MessageBox.Show("Error 2");
}
if(box3 == null)
{
MessageBox.Show("Error 3");
}
如果我有3个字段为空,我将为每个错误显示3次消息。如果错误为真,有没有办法列出一个消息框中的所有错误?
我在考虑这样的事情:
bool a = true;
bool b = true;
bool c = true;
a = (box1 == null);
b = (box2 == null);
c = (box3 == null);
if(a || b || c)
{
//Display list of errors where condition is true
}
我非常感谢任何建议。
非常感谢提前。
答案 0 :(得分:0)
private object box1;
private object box2;
private object box3;
//The following code base could be in a button click event
StringBuilder errorMessages = new StringBuilder();
if(box1 == null)
{
errorMessages.AppendLine("Error 1");
}
if(box2 == null)
{
errorMessages.AppendLine("Error 2");
}
if(box3 == null)
{
errorMessages.AppendLine("Error 3");
}
if(!string.IsNullOrWhiteSpace(Convert.ToString(errorMessages)))
{
MessageBox.Show(errorMessages.ToString(), "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
答案 1 :(得分:0)
这样的事情:
var errors = new List<string>();
if(box1 == null)
errors.Add("Error 1");
if(box2 == null)
errors.Add("Error 2");
if(box3 == null)
errors.Add("Error 3");
if (errors.Count > 0)
MessageBox.Show(string.Join(Environment.NewLine, errors));