none
皮肤控件能不能不让其应用于指定的窗体 RRS feed

答案

全部回复

  • 你好,

    这个当然可以实现,只需皮肤“初始化”设置代码应用于你需要改变样式的窗体,不希望改变的窗体不应用就可以了。

    比如:你希望Form1有某种样式而Form2样式不改变。

    只需要在Form1的load事件中添加如下代码,Form2 中不要有任何动作。

    private void Form1_Load(object sender, EventArgs e)
    {
       this.skinEngine1.SkinFile = "vista1.ssk";
    }
    private void Form2_Load(object sender, EventArgs e)
    {
       ..//不要上面那句
    }

    希望对你有所帮助。


    Lisa Zhu [MSFT]
    MSDN Community Support | Feedback to us

    2012年8月9日 6:25
    版主
  • 你好,

    这个当然可以实现,只需皮肤“初始化”设置代码应用于你需要改变样式的窗体,不希望改变的窗体不应用就可以了。

    比如:你希望Form1有某种样式而Form2样式不改变。

    只需要在Form1的load事件中添加如下代码,Form2 中不要有任何动作。

    private void Form1_Load(object sender, EventArgs e)
    {
       this.skinEngine1.SkinFile = "vista1.ssk";
    }
    private void Form2_Load(object sender, EventArgs e)
    {
       ..//不要上面那句
    }
    你好,我想要的是不让皮肤控件应用到指定窗体,就保持原来样式,就是去掉皮肤
    2012年8月10日 4:28
  • 你好,可是我上面的帖子没有说清楚,想要去掉皮肤的话,只要不对该窗体进行“初始化”就可以了。

    例如我上一个帖中代码中的Form2 就保持了原来的样式。


    Lisa Zhu [MSFT]
    MSDN Community Support | Feedback to us

    2012年8月10日 5:36
    版主
  • 你好,可是我上面的帖子没有说清楚,想要去掉皮肤的话,只要不对该窗体进行“初始化”就可以了。

    例如我上一个帖中代码中的Form2 就保持了原来的样式。

    这样好像不行啊,我开始已经加载了一个皮肤,我要在后面指定的某个窗体不被该皮肤应用,在load事件里面写没用啊…
    2012年8月17日 2:22
  • 你好,

    请把你的代码贴出来好吗 ?包括希望加载皮肤和不希望加载皮肤的窗口程序。

    谢谢,


    Lisa Zhu [MSFT]
    MSDN Community Support | Feedback to us

    2012年8月17日 10:05
    版主
  • 你好,

    请把你的代码贴出来好吗 ?包括希望加载皮肤和不希望加载皮肤的窗口程序。

    谢谢,

    这个是主窗体加载皮肤的load事件,我开始只想对后面弹出来的某个窗口不被应用,可是好像这样是不行的,必须要再拖拽一个皮肤控件到指定窗体才可以去掉指定窗体的皮肤,后来我想就对主窗体重新这样设置样式却不可以,请问这个能实现吗?

    private void MainForm_Load(object sender, EventArgs e)
            { skinEngine1.SkinFile = Application.StartupPath.EndsWith("\\") ? Application.StartupPath : (Application.StartupPath + "\\") + "WFSkin\\" + back_Skin;

                //自行设置样式
                label2.ForeColor = Color.White;
                User_Name.ForeColor = Color.White;
                ok.BackColor = Color.Transparent;
                ok.ForeColor = Color.White;
                newUser.BackColor = Color.Transparent;
                newUser.ForeColor = Color.White;

    }

    2012年8月20日 6:35
  • 怎么实现??…
    2012年8月22日 6:00
  • 难道不能这样???…
    2012年8月27日 1:41
  • 你是说一个某个窗体应用了皮肤控件,但是它的弹出的子窗体如messageBox()不被应用对吗?

    恐怕这是不可以的。

    2012年9月5日 10:15
  • 试试skinEngine1.SkinFile.SkinDialogs=false;

    2012年9月17日 1:40