You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Manager_Dashboard面板内点击Staff_Details按钮加载Staff_Registration表单

实现面板内表单跳转显示功能

需求说明

现有三个WinForms表单:Manager_Dashboard、Staff_Details、Staff_Registration,已将Staff_Details嵌入到Manager_Dashboard的指定面板(如pnl_view)中。需要实现:点击Staff_Details里的register_staff按钮时,将Staff_Registration表单加载到同一面板内显示。

实现步骤及代码

1. 为register_staff按钮添加点击事件

在Staff_Details表单的代码中,找到register_staff按钮的点击事件处理方法,写入以下逻辑:

private void register_staff_Click(object sender, EventArgs e)
{
    // 获取父容器Manager_Dashboard的pnl_view面板
    Panel targetPanel = this.Parent as Panel;
    if (targetPanel == null) return;

    // 清空面板现有控件,避免重复加载表单
    targetPanel.Controls.Clear();

    // 实例化并配置Staff_Registration表单
    Staff_Registration sr = new Staff_Registration();
    sr.TopLevel = false;
    sr.FormBorderStyle = FormBorderStyle.None; // 移除表单边框,适配面板样式
    sr.Dock = DockStyle.Fill; // 让表单自动填满整个面板
    targetPanel.Controls.Add(sr);
    sr.BringToFront();
    sr.Show();
}

2. 关键配置说明

  • TopLevel = false:必须设置此属性,将表单转为非顶级控件,才能嵌入到面板容器中
  • FormBorderStyle = None:可选配置,避免嵌入后出现多余的窗口边框,让显示更统一
  • Dock = DockStyle.Fill:可选配置,让表单自动适配面板尺寸,无需手动调整位置和大小

内容的提问来源于stack exchange,提问作者Rosni Farook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 06:20:52