I am hesitant to show you this hack, since I am convinced it's not a good thing to rely on, but, since you want it ...
... edit ... version 2:
Here's a "cleaner way" to get the MdiClient:
private MdiClient TheMdiClient;
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control theControl in this.Controls)
{
if (theControl as MdiClient != null)
{
TheMdiClient = theControl as MdiClient;
break;
}
}
if (TheMdiClient == null)
{
throw new NullReferenceException("There is no MDIClient !");
}
}
... end edit ... version 2
Version 1:
private void Form1_Load(object sender, EventArgs e)
{
Control theMdiClient = this.Controls[this.Controls.Count - 1];
theMdiClient.Click += theMdiClient_Click;
}
private void theMdiClient_Click(object sender, EventArgs e)
{
MessageBox.Show("clicked on the MDI Parent");
}
The MdiClient is a nameless Control of a special Type which is created automatically by an MDI Win Form App: it is not "visible" at design-time.