请问,这有什么问题:
Form2_Closing:
Form1.DataGridView1.Rows[0].Cells[1].Value = "323";
错误:索引超出范围。必须是非负数且小于集合的大小。参数名称:索引
Form1 上的 DGV 有 10 行和 14 列
请问,这有什么问题:
Form2_Closing:
Form1.DataGridView1.Rows[0].Cells[1].Value = "323";
错误:索引超出范围。必须是非负数且小于集合的大小。参数名称:索引
Form1 上的 DGV 有 10 行和 14 列
从您的评论看来,您正在尝试创建一个自定义对话框,该对话框将DataGridView
在调用表单上操作 a 中的特定值。我建议查看创建自定义消息框的示例。
您将能够返回您想要DataGridViewCell
更新的值,然后将其设置在您的Form1
.
创建一个新的 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;
}