磁性窗体的实现

其实实现起来也很简单:截获主窗体的WM_MOVE(窗体移动)消息,同时设置附属窗体的位置。

代码如下:
 protected override void WndProc(ref Message m)
        {
            const int WM_MOVE = 0x3;
           
            if (m.Msg == WM_MOVE )
            {
                if (frm != null)
                {
                    frm.Left = this.Left + this.Width;
                    frm.Top = this.Top;
                    return;
                }
            }
            base.WndProc(ref   m);
        }
frm即附属窗体的对象 

posted @ 2009-08-18 14:46  oraclejava  阅读(177)  评论(0)    收藏  举报