1

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

4

3 回答 3

2

最终答案;效果很好!(lf 是一个 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; 
}
于 2012-11-25T03:35:49.013 回答
1

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

于 2012-11-21T09:44:15.833 回答
0

在主窗口中添加一个事件处理程序

 this.LocationChanged += new System.EventHandler(this.MainWindow_LocationChanged);

在事件处理程序例程调用中

SlaveWindow.Location = new Point(this.Location.X + this.Width, this.Location.Y);

来自 LocationChanged 事件处理程序

于 2012-11-21T14:00:43.293 回答