0

请问,这有什么问题:
Form2_Closing:

Form1.DataGridView1.Rows[0].Cells[1].Value = "323";

错误:索引超出范围。必须是非负数且小于集合的大小。参数名称:索引

Form1 上的 DGV 有 10 行和 14 列

4

2 回答 2

1

从您的评论看来,您正在尝试创建一个自定义对话框,该对话框将DataGridView在调用表单上操作 a 中的特定值。我建议查看创建自定义消息框示例。

您将能够返回您想要DataGridViewCell更新的值,然后将其设置在您的Form1.

于 2012-06-12T14:02:19.107 回答
1

创建一个新的 Winforms 项目并添加一个按钮及其单击处理程序和一个 TextBox [使其可访问,以便孩子可以设置值。我现在也已经在设计器中公开了]。然后在此表单上添加以下代码。此外,在项目中添加一个新窗体 (Form2)。

private void button1_Click(object sender, EventArgs e)
        {
            var child = new Form2();
            child.FormClosing += new FormClosingEventHandler(ChildFormClosing);
            this.Enabled = false;
            child.Show(this);
        }

        void ChildFormClosing(object sender, FormClosingEventArgs e)
        {
            var child = sender as Form2;
            if (child != null)
            {
                if (child.DialogResult == DialogResult.None)
                {
                    // do data grid view manipulation here 
                    // for ex:
                   (child.Owner as Form1).textBox1.Text = "Hi";
                }
            }
            Enabled = true;
        }
于 2012-06-12T14:07:52.550 回答