Update windows form from child to parent

we are opening child forms and doing some calculation.after finished the calculation in child form. whatever changes we made it should be reflected immediately in the main form.for that I am used event handler to update the main form.

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
//Wired Up Here
frm2.RefreshMain += new EventHandler(frm2_RefreshMain);
frm2.ShowDialog();
}
void frm2_RefreshMain(object sender, EventArgs e)
{
//Write your logic here to update datagridview
}
private DataSet CreateDataSet()
{
DataTable table = new DataTable(“childTable”);
DataColumn column;
DataRow row;
DataSet dataset = new DataSet();
// Create first column and add to the DataTable.
column = new DataColumn();
column.DataType = System.Type.GetType(“System.Int32”);
column.ColumnName = “CustID”;
column.AutoIncrement = true;
column.Caption = “ID”;
column.ReadOnly = true;
column.Unique = true;
// Add the column to the DataColumnCollection.
table.Columns.Add(column);
//// Create second column.
column = new DataColumn();
column.DataType = System.Type.GetType(“System.String”);
column.ColumnName = “CustName”;
column.AutoIncrement = false;
column.Caption = “Name”;
column.ReadOnly = false;
column.Unique = false;
table.Columns.Add(column);
dataset.Tables.Add(table);
for (int i = 0; i <= 100; i++)
{
row = table.NewRow();
row[“CustID”] = i;
row[“CustName”] = “Item ” + i;
table.Rows.Add(row);
}
return dataset;
}
DataSet dsCust;
private void BindData()
{
dsCust = CreateDataSet();
dataGridView1.DataSource = dsCust.Tables[0];
}

private void Form1_Load(object sender, EventArgs e)
{
BindData();
}

}

//Code For Form 2

public partial class Form2 : Form{

//Declare event handler here
public event EventHandler RefreshMain;
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{

}

protected void UpdateMain()
{
if (RefreshMain != null)
RefreshMain(this, EventArgs.Empty);
}

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
UpdateMain();
}

}

Advertisements

About Asif
Hello Friends… I have done my Bachelor of Engineering in Information Technology from Gujarat University. I have 1.7 years experience of web and windows based application development.. My basic idea to start a blog is to store all important link which help me in my application and access to every where. Also this information is help others who want to makes their application powerful. I am interested in .net framework (1.0,2.0,3.0,3.5 and more). This blog contain also many information related to SQL, Custom Controls in C#.net Please share your ideas and any query if you have...

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: