IrisSkin2.dll我想用这个控件实现换皮肤的功能。一个程序有很多个窗体啊。我发现它只能换一个窗体的皮肤。其他的都不会变啊,还有就是如果在MDI父窗体里用这个控件就出错。

解决方案 »

  1.   

    一个程序有很多个窗体啊。我发现它只能换一个窗体的皮肤把他的SkinAllFrom属性设为真.就会渲染多个窗体.SkinDialogs属性设为真,会会渲染多个对话框.
      

  2.   

    http://community.csdn.net/  本人上传的资源,有详细代码
      

  3.   


    我都已经把他们设置为true了,可不知道为什么不行。难道和我的VS是2008的有关系吗
      

  4.   


    看了你的那个例子,恍然大悟。真的很感谢。但是对于MDI的窗体怎么会出错呢?这个还是没办法解决啊。
      

  5.   

    是这样的,我是吧皮肤组件放在主窗体里。而主窗体又是一个MDI父窗体。就在加载主窗体时就错误。是说未实例化。如果把MDI去掉就又可以了。
      

  6.   

    如果是用的MDI窗體的話,需要在MDI窗體初始化的時候設置一個默認皮膚。但是我們可以把這個方法變通一下。
    初始化的時候這樣設置:
                  控件實例名稱.SkinFile = null;
                控件實例名稱.Active = false;需要用到皮膚的時候,再反設置過來。
      

  7.   

    是这样的,我是吧皮肤组件放在主窗体里。而主窗体又是一个MDI父窗体。就在加载主窗体时就错误。是说未实例化。如果把MDI去掉就又可以了。主窗体在构造方法中,直接用代码赋值,就是楼上的写法.
      

  8.   

    SkinFile = 你的文件名; 
      

  9.   

    恩,不错。我也遇到了这个。在form的构造函数中添加皮肤路径的设置就可以了。