这几天做的一个程序,搞的相当苦恼!
要再父窗体内嵌套子窗体,而父窗体又不是顶级窗体,又不能设置MDI多文档,还得要能拖动!
搞了好几天,问了很多人,没有什么好的解决方式。
这几天自己研究了下,发现了一个比较折中的方式。就是父窗体内容嵌套其他容器,将子窗体填充到该容器中。
(但是这个还是有缺陷的,因为容器背景色的问题)
废话不多说 我用的容器时Panel,窗体一共两个,父窗体CarApplyListing 子窗体CarApplyMain
1.首先申明子窗体所需要的变量
/// <summary>
/// 是否已经移动本窗体
/// </summary>
private bool isMove = false;
/// <summary>
/// 是否第一次移动
/// </summary>
private bool firstMove = true;
/// <summary>
/// 默认坐标(0,0)
/// </summary>
Point p = new Point(0, 0);
2.在子窗体中添加两个事件(只要是为了子窗体在父窗体大小空间内拖动,否则它只能在容器的范围内容拖动)
一个是MouseCaptureChanged 这个是当窗体的鼠标焦点切换时触发