我有一个MDIForm,其中包括一个TreeView,我需要在单击TreeView节点时,将焦点赋给子窗口,
我使用ChildForm.Focus()这些毫无帮助,
我google了一下,在
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=451591&SiteID=1
似乎找到了答案,他们给出的代码是:
Form newForm = this.CreateForm();//Or however you're doing it
form.BeginInvoke((MethodInvoker)delegate(){form.Focus();});
但是我试了一下,还是不行,请问各位高手,如何解决这个问题?谢谢

解决方案 »

  1.   

    newForm.Show();
    newForm.Focus();//Add it after showing
      

  2.   

    to Knight94:
    > newForm.Show();
    > newForm.Focus(); //add it after showing 
    -----------------------------------------------
    这个方法我们一开始就尝试了,还尝试了
    newForm.Activate(); // activate a form and set focus
    但都没有效果,所以,还需要其他的方法to Knight94, jackped:
    谢谢
      

  3.   

    to Knight94:  newForm.Show();
      newForm.Focus();遇到同样问题,这样子窗体仍然没有得到焦点.lz这个问题解决了吗?
      

  4.   

    如果窗体已经打开了,可以这样:
    newForm.BringToFront();
    newForm.Activate();没有打开的话,
    newForm.Show();
      newForm.Focus();
      

  5.   

    to HSB, 问题没有解决,不过,我们变通了一下,就不用这样做了。