C#最简单的关闭子窗体更新父窗体的实现方法
作者:
原理就是将子窗体最为对话框模式弹出,当窗体关闭或取消时更新主窗体
主窗体Form1关键代码:
将子窗体最为对话框模式弹出,当窗体关闭或取消时更新主窗体
private void simpleButton1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Owner = this;
DialogResult result=f2.ShowDialog();
if (result == DialogResult.Cancel)
{
this.gridControl1.DataSource = f2.CreateTable();
}
}
子窗体
private void simpleButton1_Click(object sender, EventArgs e)
{
this.Close();
}
public DataTable CreateTable()
{
DataTable tableA1 = new DataTable();
tableA1.Columns.AddRange(new DataColumn[] { new DataColumn("名称"), new DataColumn("规格"), new DataColumn("单号"), new DataColumn("数量") });
tableA1.Rows.Add(new object[] { "螺旋", "LS-X", "111", "2" });
tableA1.Rows.Add(new object[] { "螺旋", "LS-X", "222", "1" });
tableA1.Rows.Add(new object[] { "指针", "LX-3", "523", "2" });
tableA1.Rows.Add(new object[] { "其他", "L-1", "666", "2" });
tableA1.Rows.Add(new object[] { "其他", "L-1", "456", "1" });
tableA1.Rows.Add(new object[] { "其他", "L-1", "990", "2" });
return tableA1;
}
将子窗体最为对话框模式弹出,当窗体关闭或取消时更新主窗体
复制代码 代码如下:
private void simpleButton1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Owner = this;
DialogResult result=f2.ShowDialog();
if (result == DialogResult.Cancel)
{
this.gridControl1.DataSource = f2.CreateTable();
}
}
子窗体
复制代码 代码如下:
private void simpleButton1_Click(object sender, EventArgs e)
{
this.Close();
}
public DataTable CreateTable()
{
DataTable tableA1 = new DataTable();
tableA1.Columns.AddRange(new DataColumn[] { new DataColumn("名称"), new DataColumn("规格"), new DataColumn("单号"), new DataColumn("数量") });
tableA1.Rows.Add(new object[] { "螺旋", "LS-X", "111", "2" });
tableA1.Rows.Add(new object[] { "螺旋", "LS-X", "222", "1" });
tableA1.Rows.Add(new object[] { "指针", "LX-3", "523", "2" });
tableA1.Rows.Add(new object[] { "其他", "L-1", "666", "2" });
tableA1.Rows.Add(new object[] { "其他", "L-1", "456", "1" });
tableA1.Rows.Add(new object[] { "其他", "L-1", "990", "2" });
return tableA1;
}