从另一个类(C#winForms)中保存的变量向dgv添加项

从另一个类(C#winForms)中保存的变量向dgv添加项,c#,winforms,datagridview,C#,Winforms,Datagridview,我对编程还比较陌生,还在学习。我刚做了一个计算器,然后我想把两个输入数字(value1,value2)和结果保存在另一个winform中的datagridview中。 首先,我添加了一个保存按钮(bSave)。 我的第一次尝试是: dgvSavedResults.Rows.Add(tbValue1.Text、tbValue2.Text、tbResult.Text);“还可以 我的下一次尝试是在另一个类中保存所有内容: public class Information { private

我对编程还比较陌生,还在学习。我刚做了一个计算器,然后我想把两个输入数字(value1,value2)和结果保存在另一个winform中的datagridview中。 首先,我添加了一个保存按钮(bSave)。 我的第一次尝试是: dgvSavedResults.Rows.Add(tbValue1.Text、tbValue2.Text、tbResult.Text);“还可以

我的下一次尝试是在另一个类中保存所有内容:

public class Information
{
    private string value1;
    private string value2;
    private string result;

    public string Value1
    {
        get { return value1; }
        set { value1 = value; }
    }

    public string Value2
    {
        get { return value2; }
        set { value2 = value; }
    }

    public string Result
    {
        get { return result; }
        set { result = value; }
    }
}
在计算器窗体中,当我单击“保存”按钮时如下所示:

    private void bSave_Click(object sender, EventArgs e)
    {
        Information info = new Information();
        info.Value1 = tbTal1.Text;
        info.Value2 = tbTal2.Text;
        info.Result = tbResultat.Text;                        
    }
我想我需要使用一个datatable,并通过Information类中的内容进行循环。 但我真的不知道该怎么做。我在谷歌上搜索过,但我没有找到我能理解的东西。我走对了吗?还是我的想法完全错了?
如果有人能花时间向我解释一下该怎么做,或者给我举个例子,我将不胜感激。谢谢你,你可以有一个结果列表:

BindingList<Information> resultsList = new BindingList<Information>();
然后:

一切都结束了

此外,根据您希望添加列的方式,您可以手动添加列,也可以从信息类的公共属性自动生成列:

dgvSavedResults.AutoGenerateColumns=true;
编辑:


要正确反映datagridview上的更改,最好使用BindingList而不是List

下一步要做什么?将info对象传递到另一个窗体,该窗体将进行计算并显示结果?我有一个完全可用的计算器。我要做的是保存值1、值2和结果(在calculatorForm中计算)到另一个表单(SavedResultForm)。我喜欢将datagridview中的所有计算存储在SavedResultForm中。dgv有3列(Value1、Value2、Result)。这将经过另一个类(信息),其中存储了“然后在SavedResultForm中,它将更新dgv中的所有变量。因此,您希望将值从一个表单传递到另一个表单…请阅读详细信息。如果您不想使用数据库,请阅读。好的,我将检查它!没错,我希望不使用数据库。
private void bSave_Click(object sender, EventArgs e)
    {
        Information info = new Information();
        info.Value1 = tbTal1.Text;
        info.Value2 = tbTal2.Text;
        info.Result = tbResultat.Text;     
        resultsList.Add(info);                   
    }
dgvSavedResults.AutoGenerateColumns=true;