none
winform 发布后dotnetskin皮肤丢失 RRS feed

  • 问题

  • 您好:

      我在winform下使用dotnetskin皮肤,在vs里面运行时正常的,我发布后直接把debug目录下打包 到别的电脑,打包的文件里面就包含主程序.exe和dotnetskin.dll 但是在别的电脑里面皮肤没了。 我发布不想使用安装包形式的,但是皮肤想要 请问有什么办法呢? 非常感谢!!!

    2014年5月2日 0:49

答案

全部回复

  • 你的皮肤文件代码如何加载的?可以展示代码吗?

    建议这样加载:

    直接将下载好的dotnetskin.dll拖到VS工具栏中,会出现skinUI的控件,或者在工具栏的组件里面点右键--》添加项--》.net framework 组件卡下面,浏览那个dotnetskin.dll文件添加就行了。

    之后将skinUI拖入winForm中,将会添加dotnetskinl引用。

    调用skinUI的代码如下:

    private void Form1_Load(object sender, EventArgs e)
            {
                skinUI1.SkinFile = @xxx.skn";
                skinUI1.Active = true;
            }

    注意,你的skn文件必须也一同发布


    ASP.NET Forum
    Other Discussion Forums
    FreeRice Donate
    Issues to report
    Free Tech Books Search and Download

    2014年5月2日 6:18
    版主
  •   public Form1()
            {
                InitializeComponent();
                this.comboBox1.Items.Add("新建子窗口");
                this.skinUI1.SkinFile = @"skin/Mac OS X-BLUE.skn";
                this.skinUI1.Active = true;

            }

    我 这样设置代码不行 但是

     public Form1()
            {
                InitializeComponent();
                this.comboBox1.Items.Add("新建子窗口");
                this.skinUI1.SkinFile = @"E:\淘宝刷单软件\淘宝刷单111\淘宝刷单111\skin\Mac OS X-BLUE.skn";
                this.skinUI1.Active = true;

            } 这样vs里面就可以正常显示。  如果我发布了, 把这个winform程序放到别的电脑上, 如果别的电脑对应的目录没有这个skn文件  也不能正常显示。 这个要怎么解决呢? 因为其他使用这个程序的人 不会知道skn文件要放哪里的。  

    2014年5月2日 11:46
  • 你应该考虑发布程序的时候,把skn和这个dll放于同一个目录下(最好和exe放到一起),这样的话:

    public Form1()
            {
                InitializeComponent();
                this.comboBox1.Items.Add("新建子窗口");
                this.skinUI1.SkinFile = @"skin/Mac OS X-BLUE.skn";
                this.skinUI1.Active = true;
            }

    代码可以,请确保你的exe同级目录中存在skin文件夹,里边有Mac OS X-BLUE.skn文件。同时你的DLL和exe在同级目录下。


    ASP.NET Forum
    Other Discussion Forums
    FreeRice Donate
    Issues to report
    Free Tech Books Search and Download

    2014年5月3日 1:18
    版主