Click here to Skip to main content
15,887,776 members
Home / Discussions / C#
   

C#

 
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 
After re-reading your question and a little experimentation, the easiest way is to have a static event in your main form so it can be listened for from anywhere without needing to instanciate it.

Something like:
public delegate void OnTestEvent(object sender, EventArgs e);
public partial class Form1 : Form
{
    public static event OnTestEvent TestEvent;
    public Form1()
    {
        InitializeComponent();
        this.IsMdiContainer = true;
        timer1.Start();
        Shown += new EventHandler(Form1_Shown);
    }

    void Form1_Shown(object sender, EventArgs e)
    {
        Form2 frm2 = new Form2();
        frm2.MdiParent = this;
        frm2.Show();
        Form3 frm3 = new Form3();
        frm3.ShowDialog();
        frm3.Dispose();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        if (null != TestEvent)
        {
            TestEvent(this, EventArgs.Empty);
        }
    }
}


then in the child form and dialog form (frm2 and frm3)

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
        FormClosing += new FormClosingEventHandler(Form2_FormClosing);
        Form1.TestEvent += new OnTestEvent(Form1_TestEvent);
    }

    void Form2_FormClosing(object sender, FormClosingEventArgs e)
    {
        Form1.TestEvent -= Form1_TestEvent;
    }

    void Form1_TestEvent(object sender, EventArgs e)
    {
        Console.WriteLine("Form2 heard it");
    }
}

public partial class Form3 : Form
{
    public Form3()
    {
        InitializeComponent();
        FormClosing += new FormClosingEventHandler(Form3_FormClosing);
        Form1.TestEvent += new OnTestEvent(Form1_TestEvent);
    }

    void Form3_FormClosing(object sender, FormClosingEventArgs e)
    {
        Form1.TestEvent -= Form1_TestEvent;
    }

    void Form1_TestEvent(object sender, EventArgs e)
    {
        Console.WriteLine("Form3 heard it");
    }
}


Dave

modified on Wednesday, March 12, 2008 11:45 AM

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 
GeneralRe: programming disaster Pin
Justin Perez12-Mar-08 5:24
Justin Perez12-Mar-08 5:24 
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:16
Justin Perez12-Mar-08 5:16 
GeneralRe: programming disaster Pin
Paul Conrad12-Mar-08 4:58
professionalPaul Conrad12-Mar-08 4:58 
Question.NET and MySQL Pin
KillerTiger12-Mar-08 2:35
KillerTiger12-Mar-08 2:35 
GeneralRe: .NET and MySQL Pin
N a v a n e e t h12-Mar-08 2:46
N a v a n e e t h12-Mar-08 2:46 
QuestionSending multiple print files as a job to a network printer Pin
barts00712-Mar-08 2:29
barts00712-Mar-08 2:29 
GeneralSample projects Pin
Steve Declerck12-Mar-08 1:39
Steve Declerck12-Mar-08 1:39 

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.