C#中关于winform事件传递问题

在CE中用c#完成winform程序,遇到了以下问题:
有ABC三个页面,在A页面中执行回车事件会转到B页面,B页面执行回车事件会转到C页面,我现在在A页面中执行回车事件,结果就直接跳转到了C页面,同时还在C页面中也执行了回车事件。
我想可能是事件在页面中直接传递引起的,但是不知道怎么控制!

a触发了b,b接着打开了c,所以你看到的是c

贴出你的代码才好帮你

@devmiao
代码有点多
是这样的,我的终端是智能设备,在进入login窗口后,点击OK进入到main窗口,而main界面中也有OK的响应事件,如果我在进入login窗口后点击OK,则他不会进入到main窗口,而是直接进入到main的下一级窗口
我的键盘事件捕捉是这样写的:

//login窗口的OK事件(keyValue=13)
private void KeyUp_Click(Object sender, KeyEventArgs e)
{
//退出
if (e.KeyValue == 27)
{
if (MessageBox.Show("确定退出程序吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{
Application.Exit();
ShowWindow(FindWindow("HHTaskBar", null), SW_SHOW); //显示任务栏
}
}
else if (e.KeyValue == 13)
{
//进入到main
if (flag) new Main().Show();
else MessageBox.Show("正在加载数据,请稍后……");
}
}

            //main窗口的事件
            //按键事件
    private void KeyUp_Click(Object sender, KeyEventArgs e)
    {
        if (this.linkLabel1.Focused || this.linkLabel2.Focused) this.button1.Focus();
        //退出
        if (e.KeyValue == 27)
        {
            this.Close();
        }
        else if (e.KeyValue == 13)
        {
            this.OK_Click(sender, e);
        }
                    ……

                    我在main的事件中执行MessageBox.show,结果在login窗口点击OK,跳转到main窗口后,他就直接show了。我是初学者,请问是不是有什么参数控制事件是来自本窗口还是来自上一个窗口?谢谢