Solved

Perfom action on the mdi parent form when child form close

Posted on 2009-07-05
5
584 Views
Last Modified: 2012-05-07
Hi
I want to perform an action when a child from closes on the parent form.

Any ideas on how to do this?
0
Comment
Question by:delta_v
5 Comments
 
LVL 4

Expert Comment

by:macksm
ID: 24779944
try calling a global  function from  WM_CLOSE or WM_QUIT message handler of the child window
0
 
LVL 62

Expert Comment

by:Fernando Soto
ID: 24780167
Hi delta_v;

Use the childs Closing or Closed events to perform the action on the MDI parent form. See code snippet.

Fernando
// MID Parent Form
 

public partial class MDIParent : Form

{

    public MDIParent()

    {

        InitializeComponent();

    }
 

    private void createChildToolStripMenuItem_Click(object sender, EventArgs e)

    {

        ChildForm cf = new ChildForm();

        cf.TopLevel = false;

        cf.Parent = this;

        cf.Show();

    }
 

    public void DisplayMessage(string msg)

    {

        MessageBox.Show(msg);

    }

}
 

// Child Form
 

public partial class ChildForm : Form

{

    public ChildForm()

    {

        InitializeComponent();

    }
 

    // Calling function in MDIParent form BEFORE child form is closed

    private void ChildForm_FormClosing(object sender, FormClosingEventArgs e)

    {

        ((MDIParent)this.Parent).DisplayMessage("Child Form Closing");

    }
 

    // Calling function in MDIParent form AFTER child form is closed

    private void ChildForm_FormClosed(object sender, FormClosedEventArgs e)

    {

        ((MDIParent)this.Parent).DisplayMessage("Child Form Closed");

    }

}

Open in new window

0
 
LVL 85

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 24780920
Instead of driving the behaviour from within the child itself, subscribe to the childs FormClosing() event in the MdiParent when the child is created...
0
 
LVL 1

Author Comment

by:delta_v
ID: 24797435
Idle Mind

How do i do that?
0
 
LVL 1

Author Comment

by:delta_v
ID: 24797515
Thanks, i found how to do it on the following website, it does exacly what i need

http://www.dotnetcurry.com/ShowArticle.aspx?ID=125&AspxAutoDetectCookieSupport=1
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Windows Service to Receive TCP Packets 4 124
Need to pass connection string through config 2 26
Filename to be appended with DateTimeof Download 3 47
C# Single Form 8 29
Article by: Najam
Having new technologies does not mean they will completely replace old components.  Recently I had to create WCF that will be called by VB6 component.  Here I will describe what steps one should follow while doing so, please feel free to post any qu…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now