在主窗体上(Mdi)打开多个Form(w_a, w_b, w_c)
假设打开的Form叠放顺序从下到上为w_a, w_b, w_c
显示在最上面的是w_c
在w_c上有1按钮btn_test,代码为MessageBox.Show("ppp");
按下按钮btn_test,弹出对话框后,点OK,再按下Tab键,
此时打开的Form就会自动切换到w_c的下一个Form :w_b上
此时Form叠放顺序从下到上为w_c, w_a, w_b
显示在最上面的变为w_b为什么啊?
有什么办法不让他自动切换(w_c啊?
谢谢!

解决方案 »

  1.   

    那你希望按了tab键后做什么?什么都不做?
      

  2.   

    在主窗体上(Mdi)打开多个Form(w_a, w_b, w_c)
    假设打开的Form叠放顺序从下到上为w_a, w_b, w_c
    显示在最上面的是w_c
    在w_c上有1按钮btn_test,代码为MessageBox.Show("ppp");
    按下按钮btn_test,弹出对话框后,点OK,再按下Tab键,
    此时打开的Form就会自动切换到w_c的下一个Form :w_b上
    此时Form叠放顺序从下到上为w_c, w_a, w_b
    显示在最上面的变为w_b为什么啊?
    有什么办法不让他自动切换(w_c啊?//这句错了
    有什么办法不让他自动切换(w_b)啊?
    谢谢!
      

  3.   

    那你希望按了tab键后做什么?什么都不做?
    ===================================
    正常情况是
    按下按钮btn_test, MessageBox.Show后,焦点还会停在按钮btn_test上,
    按了tab键后,光标自然应该要跳到同一个窗体的另一个控件上的,
    而不是切换到另外一个窗体上的吧?
      

  4.   

    关闭messagebox后增加代码
    指定MDI的活动表单(好象是activeform)为你原来的表单就可以了.