图解CS版的皮肤界面编程示例

来源:互联网 发布:ipad pro笔记软件 编辑:程序博客网 时间:2024/06/16 01:14

一 C# Winform 皮肤界面

<一>  C#使用IrisSkin皮肤的例子

    以下使用精简版的C#开发工具SharpDevelop; 如需下载和了解该精简版开发工具,可参考鄙人博文:

http://blog.csdn.net/bcbobo21cn/article/details/44200205


1 进入SharpDevelop,新建工程skin1, SharpDevelop添加第三方组件与标准VS略有不同;右击工具箱,在弹出菜单中选择Configure Sidebar;



2 在弹出的对话框中单击Add Components;



3 浏览并找到IrisSkin2.dll,单击Show Components,显示如下图内容;



4 工具箱中出现了两个新控件,SkinEngine,SkinCollectionItem;



5 做一个录入情报员资料的界面,如下;


    为了简单,先不连接数据库,在代码中绑定ArrayList给DataGridView控件来显示示例数据;在form.cs中增加一个类如下;

public class qby{

private string bh= string.Empty;
public string 情报员编号
{
get { return bh; }
set { bh = value; }
}

private string name= string.Empty;
public string 情报员姓名
{
get { return name; }
set { name = value; }
}

private string rwrq= string.Empty;
public string 入伍日期
{
get { return rwrq; }
set { rwrq = value; }
}

private string jb= string.Empty;
public string 情报员级别
{
get { return jb; }
set { jb = value; }
}

}


    在窗体启动时构造ArrayList对象,赋值后绑定到DataGridView;

qby q1=new qby();
q1.情报员编号="007";
q1.情报员姓名="周星星";
q1.入伍日期="1970-07-07";
q1.情报员级别="一级特务";
ArrayList alist1=new ArrayList();
alist1.Add(q1);

dataGridView1.DataSource=alist1;


    在窗体上添加一个SkinEngine; 并在窗体启动时添加如下语句即可实现皮肤;

this.skinEngine1.SkinFile = @"D:\Users\Administrator\Documents\SharpDevelop Projects\skin1\res\皮肤\Steel\SteelBlue.ssk";

或者把皮肤文件拷贝到exe同一目录,添加如下语句;

this.skinEngine1.SkinFile = "SteelBlue.ssk";


    皮肤文件SSK,根据自己的需要选择;

    运行一下,结果如下图,如果情报部门使用如下界面录入信息,那也是满酷的;




   示例源码下载:

http://pan.baidu.com/s/1kTBqCiN


    此处仅为使用示例,请使用正版;


二 VC++的皮肤界面

<一>SkinSharp换肤库

1 SkinSharp的使用

        打开VC++,新建一个对话框工程;

        将换肤库头文件和链接库文件(SkinH.h,  SkinH_lib)拷贝到工程的目录下,和源码文件同一目录;

        在stdafx.h文件中添加如下两句;

#include "SkinH.h"
#pragma comment(lib, "SkinH.lib")
        加到对话框实现文件的头部也可;

        在对话框的OnInitDialog()函数中添加一句:

SkinH_Attach();

        注意Skin,不要写成SKin,

        编译后,拷贝换肤库dll和皮肤文件(skinh.dll, skinh.she)到程序生成的目录;

        运行程序即看到如下效果;比标准的MFC对话框多了些颜色;




2 做一个获取系统信息的程序看下效果;

    在对话框资源中添加一个文本框,一个Button;

    在对话框头文件中添加一个函数声明;

CString GetID();

    在对话框的实现函数中实现GetID()函数,并在Button1的单击命令中调用;

void CMyDlg::OnButton1() 
{

    m_infostr=GetID();
UpdateData(false);    
}


CString CMyDlg::GetID()
{
CString infostr="";
CString str="";
///////////////////
//磁盘信息
char   volname[255]={0};//盘卷标
char   filename[100]={0};//buffer[512];
DWORD   sno=0;//盘序列号
DWORD  maxl,fileflag;  // |盘符| 
    if((GetVolumeInformation("c:", volname,255,&sno,&maxl,&fileflag ,filename,100)))  
{
str.Format("磁盘卷标:%x",sno);
infostr+=str;
}
return infostr;
}

    按照1的步骤添加皮肤相关内容;运行程序,结果如下图;比无皮肤好看些;


    源码下载:

http://pan.baidu.com/s/1eQ6bfCQ


此处仅为演示;请使用正版;



0 0