让一个表单同时移动另一个表单(C#)

时间:2012-11-21 09:40:06

标签: c# forms drag

我有一个主窗体Form1和一个辅助窗体LogForm。当LogForm首次出现时,它的左上角应该触摸Form1的右上角。我可以做那个部分。但是,如果我移动Form1(即拖动Form1拖动LogForm),我也可以让LogForm保持触摸Form1。任何想法如何做到这一点?编辑:我对鼠标事件很新,所以如果涉及到这一点,请详细解释。

3 个答案:

答案 0 :(得分:2)

最后答案;效果很好! (如果是LogForm)

private void Form1_Move(object sender, EventArgs e) 
{ 
    Point f1pos = self.Location; 
    Point logPos = new Point(f1pos.X + this.Width + 5, f1pos.Y + 5); 
    lf.StartPosition = FormStartPosition.Manual; 
    lf.DesktopLocation = logPos; 
}

答案 1 :(得分:1)

您可以使用Move event来处理位置更新。该事件将返回表单的新位置 - 左上角。将表格的宽度添加到此,您应该能够获得所需的位置信息。

答案 2 :(得分:0)

在主窗口中添加一个Eventhandler

 this.LocationChanged += new System.EventHandler(this.MainWindow_LocationChanged);
在事件处理程序例程调用中

SlaveWindow.Location = new Point(this.Location.X + this.Width, this.Location.Y);
来自LocationChanged Eventhandler的