在消息框中显示<list>报告</list>

时间:2013-08-01 11:07:32

标签: c# winforms

在我的WinForm中,我有一个检查各种用户控件验证的方法,并将它们添加到errorList中。当用户单击保存按钮时,我希望它检查验证方法并在消息框中显示错误(如果有)。 Validate方法是另一种形式和类,所以我认为这可能是我的问题。

 private void Save_Click(object sender, EventArgs e)
    {
        var errorList = string.Join(Environment.NewLine, Validate.ToArray());
        MessageBox.Show(errorSet);

    }

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

错误'Form1.Validate(System.Collections.Generic.List<string>)' is a 'method', which is not valid in the given context表示您使用的方法错误。

var errorList = string.Join(Environment.NewLine, Validate.ToArray());

毫无意义。你错过了括号:

var errorList = string.Join(Environment.NewLine, Validate().ToArray());

这只是一个问题。该方法的参数类型为List<string>,但您不会将参数传递给函数。

另外,你在评论中说过,返回值的类型为bool,但似乎你希望它返回一个字符串集合。

答案 1 :(得分:0)

您遇到此问题是因为您正在调用另一个表单上的validate方法而未提及该表单的实例。

假设你有另一个班级Class1。

 //create instance of your class/form that has this method
 OperationControl oc  = new OperationControl ();

 private void Save_Click(object sender, EventArgs e)
    {
        //call the method with form instance created above
        var errorList = string.Join(Environment.NewLine, oc.Validate().ToArray());
        MessageBox.Show(errorSet);

    }

答案 2 :(得分:0)

有时这个错误意味着您可能在程序范围中使用相同名称的相同方法。检查程序中是否存在名为MessageBox的其他函数