C# 子窗体是否在父窗体边界内?

C# 子窗体是否在父窗体边界内?,c#,winforms,C#,Winforms,我已经创建了自定义表单,并且为表单创建了mdi子级。当父窗体最大化时,子窗体边界在父窗体内移动。我在OnWmNcCalcSize()方法中尝试了以下代码,它在我的屏幕上运行良好。在我的辅助监视器上,它不能正常工作RC.left正在获取其他值。那么,我能得到解决这个问题的建议吗 rc.top+=fl.CaptionHeight; if(this.WindowState==FormWindowState.Maximized) { /// ///用于存储本机矩形x坐标的局部变量,双击标题栏时rc.le

我已经创建了自定义表单,并且为表单创建了mdi子级。当父窗体最大化时,子窗体边界在父窗体内移动。我在
OnWmNcCalcSize()
方法中尝试了以下代码,它在我的屏幕上运行良好。在我的辅助监视器上,它不能正常工作<代码>RC.left正在获取其他值。那么,我能得到解决这个问题的建议吗

rc.top+=fl.CaptionHeight;
if(this.WindowState==FormWindowState.Maximized)
{
///
///用于存储本机矩形x坐标的局部变量,双击标题栏时rc.left为-6,单击“最大化”按钮时为-8。
/////
int xcoordinate=rc.left;
rc.left-=xcoordinate;
rc.right+=xcoordinate;
rc.bottom+=xcoordinate;
}

您的显示器的分辨率是否相同?如果没有,您是否在考虑窗口所在的显示器?显示器的分辨率不同,我不知道如何找到窗口所在的显示器。是否有任何通用方法可以在所有监控器中解决此问题?
                rc.top += fl.CaptionHeight;
                if (this.WindowState == FormWindowState.Maximized)
                {
                    ///<summary>
                    /// local variable to store x-coordinate of native rectangle,rc.left is -6 when we double click on title-bar and -8 when we click the maximize button.
                    /////</summary>
                    int xcoordinate = rc.left;
                    rc.left -= xcoordinate;
                    rc.right += xcoordinate;
                    rc.bottom += xcoordinate;
                }