Question: I have a form with some controls with KeyPress event. For example:

```
    private void MyTextBoxKeyPress(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            *****
        }
    }

```

From this "parent" form i call another form:

```
Application.Run(new ChildForm());

```

Now i select one of parent form's control and press Enter button. But nothing heppens? key press not shoot hte event.  

In both forms i have:

```
KeyPreview=false;

```

What i do wrong here? How to shoot key press events in parent form?

Answer: 
This works fine for me , The difference is that it is key press event so it contains KeypressEventArgs

```
    private void MyTextBoxKeyPress(object sender, KeyPressEventArgs e)
    {
         if (e.KeyChar == (char)Keys.Enter)
        {
             *****

        } 
     }

```

for keydown event 

```
   private void MyTextBoxKeyPress(object sender, KeyEventArgs e)
    {
        if (e.KeyValue == (char)Keys.Enter)
        {
/*only use Apllication.run(..) in Application entry point when starting Application. it makes current thread to communicate with window and main thread is enough to do it .
 * if Form layout is already there
 *
 */
            new Form2().Show();

/*
 * if you want to make new Form  programmatically and only resume from same line if form is closed
 *
 */
            Form form = new Form();
            form.ShowDialog();

        }
    }

```
first things first u can't use "Application.Run" for the showing new forms.
u should use the "Show" method of the froms.
this codes below should help you.

i have 2 forms like ur says.
first one is parent form named "parentForm" and second is childForm
Call childForm from parentForm."i called on parentForm Load"
and set event delegate from parentForm for the childForm and catch the pressing keys.

```
private void parentForm_Load(object sender, EventArgs e)
{
    childForm frm2 = new childForm();
    frm2.KeyPress += frm2_KeyPress;
    frm2.Show();
}

void frm2_KeyPress(object sender, KeyPressEventArgs e)
{
    //some codes here about what to do
}

```

Hope helps it...