我主窗体设为了MDI,在一按钮是有以下代码
ConnSql SetConn=new ConnSql(this);
SetConn.MdiParent=this;
SetConn.Show();
子窗体ConnSql的StartPosition也设成了CenterParent,可运行时怎么这个窗体显示在左上角啊,应该是居中啊,请教啊

解决方案 »

  1.   

    下面是MSDN中的说明:CenterParent 窗体在其父窗体中居中。 
    CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。 
    Manual 窗体的位置由 Location 属性确定。 
    WindowsDefaultBounds 窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。 
    WindowsDefaultLocation 窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。 也就是说,CenterScreen的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中,当你用Show()方法时应选择CenterScreen,用ShowDialog()方法时应选择CenterParent,这样你才能让你要显示的窗口居中,呵呵,说明你没看MSDN,兄弟。
      

  2.   

    补充一下,免得你误会:
    在SDI中用ShowDialog()方法,并且设置对应的窗体的StartPosition为CenterParent时就可以让你的窗体居中,当然你也可以用CenterScreen也是一样的效果,只是含意不一样罢了.
    而在MDI中只能用Show(),如果你用ShowDialog(),无论你选择CenterParent或是CenterScreen都会出错,说ShowDialog只能用在顶级窗口之类的意思。你用Show(),并且设置对应的窗体的StartPosition为CenterScreen时就可以让你的窗体居中