一 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

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

图解CS版的皮肤界面编程示例相关推荐

  1. Windows界面编程-背景图片、透明特效使用

    Windows界面编程第一篇 位图背景与位图画刷 可以通过WM_CTLCOLORDLG消息来设置对话框的背景,MSDN上对这个消息的说明如下: The WM_CTLCOLORDLG message i ...

  2. Muduo 网络编程示例之十:socks4a 代理服务器

    Muduo 网络编程示例之十:socks4a 代理服务器 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice  t.sina.com.cn/giantchen ...

  3. php皮肤程序,2020修复升级版PHP全新皮肤界面点赞任务系统平台源码运营版,仿众人帮蚂蚁帮扶牛帮...

    [温馨提示]源码包解压密码:www.youhutong.com 资源描述 2020修复升级版PHP全新皮肤界面点赞任务系统平台源码运营版,仿众人帮蚂蚁帮扶牛帮 测试环境: php5.6+apache2 ...

  4. VC界面设计(破解版skin++皮肤库使用)

    VC界面设计(破解版skin++皮肤库使用) skin++可以使VC++等工具写的软件的界面很漂亮,但是试用版在运行时会跳出注册框,正式版又需要花钱,下面的这种方法将会使注册窗口不再跳出来.     ...

  5. ncurse界面编程多线程示例

    linux ncurses界面编程网上资料很多,这里不再详述,这里只给一个例子.该示例给出了一个左右跳动的字符串数组景象: //Compile: gcc -g ncurses_demo.c -o nc ...

  6. VC++界面编程之--使用分层窗口实现界面皮肤

    使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...

  7. 【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

    文章目录 一.鼠标滚轮缩放的中心点设置为当前鼠标中心点 - 要点分析 1.保存当前鼠标指针指向的位置 2.根据鼠标指针指向的位置以及比例重新计算图片位置 二.绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩 ...

  8. Win32 API 多线程编程示例 - 窗口版

    网上有一些Win32 多线程编程示例,多是控制台版本:下面哥作一个窗口版本: /*-------------------------------------------------bobo, 2020 ...

  9. Muduo 网络编程示例之三:定时器

    陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 这是<Muduo 网络编程示例>系列的第三篇文章. Muduo 全系列文章列表: http:/ ...

最新文章

  1. 《大数据系统基础》实践项目期末答辩顺利举行 校企联手打造精品实践项目见真章
  2. 从美国5家创企看AI创业方向:落地解决问题才是王道
  3. 802.11成帧封装实现(四)
  4. Skype for Business Server 2015-10-ADFS-2-配置
  5. SQL注入学习——sqli-labs闯关(Basic Challenges)
  6. 小甲鱼python课件源代码_[Python基础] 小甲鱼零基础入门Python学习视频+全套源码课件 Python视频教程 96讲...
  7. mysql 字段 中文_如何配置mysql支持中文字段名与中文字段
  8. datatable筛选条件_C#利用DataView的RowFilter对DataTable进行查询筛选
  9. python切片原理_深度解析Python切片
  10. vue component created没有触发_面试!面试!面试!vue常见面试题。
  11. 云小课|DSC帮您管数据,保障您的云上数据安全
  12. HTML5 的定位一些重要知识点
  13. 通讯录_你有多久没翻过通讯录了?
  14. vue axois 封装请求 | vue 解决跨域问题
  15. Cadence之双击(DSN/brd)文件打开变新建文件的解决方法
  16. ligerui demo php,ligerui grid行编辑示例
  17. 《C语言入门经典》Ivor Horton第十章练习题3
  18. IS-IS LSDB详解(华为设备)
  19. electron开发问题记录
  20. centos7.9中mysql5.6数据库安装和配置以及修改端口

热门文章

  1. Hystrix 熔断器02 —— hystrix 案例之高并发测试
  2. 取消Ajax请求 || Ajax重复请求问题
  3. Use Simple Variables and Formulas
  4. 安装MySQL示例   docker pull mysql
  5. bugku ctf 域名解析
  6. 查找数据挖掘的相关资料
  7. 转载:sqlmap的应用实战
  8. JavaScript 技术篇-简单的两行js代码获取password不可见密码实例演示,js获取密码输入框里的值
  9. Windows 技术篇-搜狗输入法中文状态下却输入为英文,原因及解决办法。明明是中文却输入不了中文,只能输入英文
  10. stm32 systick定时器