c# 子窗体如何跳出在主窗体中间
时间: 2024-11-22 20:45:15 浏览: 15
在 C# 中,如果你想要从子窗体 (Form) 跳出到主窗体 (Main Form) 的中心位置,你可以通过以下步骤操作:
1. 确保子窗体有一个引用指向主窗体,可以在主窗体上设置 `public` 属性访问子窗体:
```csharp
public partial class MainForm : Form
{
private ChildForm childForm;
//...
}
```
2. 在子窗体的关闭事件或需要跳转的地方,获取主窗体实例并调整子窗体的位置:
```csharp
private void ChildForm_Close(object sender, EventArgs e)
{
if (childForm != null)
{
MainForm mainForm = this.Owner; // 获取主窗体
childForm.Close(); // 关闭子窗体
// 计算子窗体应位于主窗体中央的坐标
Point centerPoint = new Point(mainForm.Width / 2, mainForm.Height / 2);
// 将子窗体的位置设置为主窗体中心
childForm.StartPosition = FormStartPosition.Manual;
childForm.Location = centerPoint;
childForm.ShowDialog(mainForm); // 弹出子窗体,显示在指定位置
}
}
```
在这个例子中,当子窗体关闭时,它会先关闭自身,然后以主窗体的中心点作为新窗口的位置,并显示出来。
阅读全文