繁体   English   中英

如何从另一个表单填充 datagridview 单元格? C#

[英]How to fill a datagridview cell from another form ? C#

我是 C# 的初学者,现在对我来说最困难的事情是了解如何将数据和修改对象从一个表单/类传递到另一个表单/类。 我知道我应该使用事件或委托,但我还不确定如何使用它。

现在,我的 Form1 中有一个 datagridview(带有 Column_Name、Column_Age 等),而在我的 Form2 中,我有一些文本框,用户将使用按钮填充和验证这些文本框。

我希望当用户按下 Form2 中的验证按钮时,文本框文本转到 Form1 中最后一行的 datagridview 的单元格。

例子:

(Form1)

  • 用户写“亨利”,在textbox_Name ,“52”在textbox_Age
  • 他通过单击button1验证

(Form2)

  • 当用户通过单击 button1 (Form2) 进行验证时,最后一个索引行(新行)中的每个单元格都会获得文本框的相应值。 示例: datagridview1[*newrow.Index*,Column_Name.Index] = textbox_Name.Text.ToString(); datagridview1[*newrow.Index*,Column_Age.Index] = textbox_Age.Text.ToString(); 等等

不确定newrow.Index

谢谢 ! 如果你有一些好的链接可以帮助我,我会接受的!

好的,所以我找到了解决方案。 让我知道你是否会这样做。

Form1.cs

private static Form1 _Form1;

public static Form1 GetInstance()
{
    if (_Form1 == null)
    {
        _Form1 = new Form1();
    }
    return _Form1;
}

Form2.cs

private void button1_Click(object sender, EventArgs e)
{
    Form1.GetInstance().dataGridView1[Form1.GetInstance().Column_Name.Index, Form1.GetInstance().dataGridView1.Rows.Add()].Value = textbox_Name.Text.ToString();
    Form1.GetInstance().dataGridView1[Form1.GetInstance().Column_Age.Index, Form1.GetInstance().dataGridView1.Rows.Add()].Value = textbox_Age.Text.ToString();
}   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM