Click here to Skip to main content
15,885,985 members
Home / Discussions / C#
   

C#

 
GeneralRe: File sending problem in chat server Pin
Not Active12-Mar-08 4:22
mentorNot Active12-Mar-08 4:22 
GeneralC# Command Line Argument Pin
Navneet Hegde12-Mar-08 3:44
Navneet Hegde12-Mar-08 3:44 
GeneralRe: C# Command Line Argument Pin
Not Active12-Mar-08 4:19
mentorNot Active12-Mar-08 4:19 
GeneralCsharp ADO change data in datagridview Pin
baranils12-Mar-08 3:37
baranils12-Mar-08 3:37 
GeneralRe: Csharp ADO change data in datagridview Pin
LongRange.Shooter13-Mar-08 4:57
LongRange.Shooter13-Mar-08 4:57 
GeneralRe: Csharp ADO change data in datagridview Pin
baranils13-Mar-08 7:06
baranils13-Mar-08 7:06 
Generalevent Issue Pin
Harvey Saayman12-Mar-08 2:37
Harvey Saayman12-Mar-08 2:37 
GeneralRe: event Issue Pin
Martin#12-Mar-08 3:33
Martin#12-Mar-08 3:33 
Hello Harvey!

My basic concept would be:
1) Creating an event in your ParentForm, which should be handled from the Child Forms
[CategoryAttribute("Harveys Events")]
[DescriptionAttribute("Happens when I want it!")]		
public event EventHandler HarveysParentEvent;

2)Creating an Basis MDIChild Form where all the ChildForms of your ParentForm inherit from!
//Basis Child
public class MDIBaseChild : System.Windows.Forms.Form

//Inherited Child
public class MDIChild1 : MDIBaseChild

3)This Base Form overrides the OnParentChanged as following and handles the "HarveysParentEvent" there!
private MDIParent mdiParent=null; //holds the reference to the parent form
 
protected override void OnParentChanged(EventArgs e)
{
    //MDIChild is added to the MDIParent
    if(Parent!=null)
    {
        if(mdiParent==null)
        {
            if(Parent is MdiClient)
            {
                mdiParent = Parent.TopLevelControl as MDIParent;
                if(mdiParent!=null)
                {
                    //Handles the event
                    mdiParent.HarveysParentEvent+=new EventHandler(mdiParent_HarveysParentEvent);
                }
            }
        }
    }
    //MDIChild has Closed and/or was removed from MDIParent
    else
    {
        if(mdiParent!=null)
        {
            //clears the reference to the parent Form
            mdiParent.Activated-=new EventHandler(mdiParent_HarveysParentEvent);
            mdiParent.HarveysParentEvent-=new EventHandler(mdiParent_HarveysParentEvent); //Edited
            mdiParent = null;
        }
    }
 
    base.OnParentChanged (e);
}

4) The "mdiParent_HarveysParentEvent" is declared as "protected virtual" and can now be overriden from the inherited Child Forms.
//Base Child code
protected virtual void mdiParent_HarveysParentEvent(object sender, EventArgs e)
{
}
 
//Inherited Child code
protected override void mdiParent_HarveysParentEvent(object sender, EventArgs e)
{
    //Implement your code here
 
    base.mdiParent_HarveysParentEvent(sender, e);
}

Hope it helps!

All the best,

Martin

GeneralRe: event Issue Pin
Harvey Saayman12-Mar-08 3:35
Harvey Saayman12-Mar-08 3:35 
GeneralRe: event Issue Pin
Harvey Saayman12-Mar-08 4:35
Harvey Saayman12-Mar-08 4:35 
GeneralRe: event Issue Pin
Martin#12-Mar-08 4:47
Martin#12-Mar-08 4:47 
GeneralRe: event Issue Pin
Martin#12-Mar-08 4:53
Martin#12-Mar-08 4:53 
GeneralRe: event Issue Pin
Harvey Saayman12-Mar-08 4:56
Harvey Saayman12-Mar-08 4:56 
GeneralRe: event Issue [modified] Pin
DaveyM6912-Mar-08 5:07
professionalDaveyM6912-Mar-08 5:07 
GeneralRe: event Issue Pin
Bekjong12-Mar-08 5:08
Bekjong12-Mar-08 5:08 
GeneralRe: event Issue [modified] Pin
DaveyM6912-Mar-08 5:35
professionalDaveyM6912-Mar-08 5:35 
Questionprogramming disaster Pin
paballo12-Mar-08 2:36
paballo12-Mar-08 2:36 
GeneralRe: programming disaster Pin
Dan Neely12-Mar-08 2:38
Dan Neely12-Mar-08 2:38 
GeneralRe: programming disaster Pin
Xmen Real 12-Mar-08 2:43
professional Xmen Real 12-Mar-08 2:43 
GeneralRe: programming disaster Pin
Xmen Real 12-Mar-08 2:41
professional Xmen Real 12-Mar-08 2:41 
GeneralRe: programming disaster Pin
J a a n s12-Mar-08 2:57
professionalJ a a n s12-Mar-08 2:57 
GeneralRe: programming disaster PinPopular
Justin Perez12-Mar-08 3:28
Justin Perez12-Mar-08 3:28 
GeneralRe: programming disaster Pin
Paul Conrad12-Mar-08 4:59
professionalPaul Conrad12-Mar-08 4:59 
GeneralRe: programming disaster Pin
Justin Perez12-Mar-08 5:15
Justin Perez12-Mar-08 5:15 
GeneralRe: programming disaster Pin
Paul Conrad12-Mar-08 5:20
professionalPaul Conrad12-Mar-08 5:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.