我有一个MDI多文档窗体,现在需要通过locatinchanged事件控制子窗体标题居中。
当父窗体大小变化时,子窗体的标题也能够自动居中。现在在子窗体中的locatinchanged事件已经实现标题居中的功能,但是却无法实现与父窗体的联动。我尝试使用父窗体locatinchanged事件去订阅子窗体的locatinchanged事件
this.locatinchanged+=new eventhandler(form1.form1_locatinchanged);但是不成功。父窗体还是不能控制子窗体。这是什么原因呢?如果要实现多文档父窗体事件如何绑定子窗体事件有什么好的办法吗?请教各位大虾!!谢谢

解决方案 »

  1.   

    事件_Resize(object sender, EventArgs e)
      

  2.   

    把事件换成这个试试
    this.Resize += new EventHandler(MDIParent1_Resize);; 
      

  3.   

    当父窗体大小变化时,引发子窗体的LocationChanged事件。如:子窗体.OnLocationChanged不过这样,如果子窗体太多的话,就麻烦了。你可以在子窗体里面定义个方法,就是指定MidParent时调用 。如在子窗体里定义: public void SetMidParent(Form pForm)
     {
       this.MdiParent=pForm;
       //监听父窗体事件,你也可以改成其它事件。
       pForm.LocalChanged+=new new EventHandler(pForm_LocationChanged);
       
     }
      

  4.   

    忘了说。设置父窗体时,调用SetMidParent(父窗体);(本来想写成SetMdiParent,写错了)
    不要直接调用MdiParent属性进行赋值了。