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

子窗体无法加载Material Skin皮肤问题求助

解决方案

问题根源分析

代码存在两处关键错误:

  • 主窗体创建子窗体时,实例化的是基类Form而非自定义的banking窗体
  • 子窗体构造函数中,SkinManager.AddFormToManage(Form)传入的是类型而非当前窗体实例

修复步骤

  1. 修正主窗体按钮点击事件代码
    将创建子窗体的代码改为实例化自定义的banking类:
private void materialRaisedButton1_Click_1(object sender, EventArgs e)
{
    banking Banking = new banking();
    Banking.ShowDialog();
}
  1. 修正子窗体构造函数代码
    把SkinManager.AddFormToManage(Form)中的Form替换为当前窗体实例this:
public banking()
{
    InitializeComponent();

    var SkinManager = MaterialSkin.MaterialSkinManager.Instance;
    SkinManager.AddFormToManage(this);

    SkinManager.Theme = MaterialSkin.MaterialSkinManager.Themes.DARK;
    SkinManager.ColorScheme = new ColorScheme(Primary.DeepOrange800, Primary.Brown900, Primary.DeepOrange500, Accent.LightBlue200, TextShade.WHITE);
}

优化建议(可选)

为避免重复设置皮肤参数,可直接复用主窗体的皮肤配置,子窗体构造函数无需重复指定主题和配色,仅需添加当前窗体到皮肤管理器:

public banking()
{
    InitializeComponent();
    MaterialSkin.MaterialSkinManager.Instance.AddFormToManage(this);
}

此时子窗体会自动继承主窗体已设置好的主题与配色方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:05:23