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