在Winform项目中,有时需要将UI变成适应Vista/Windows7/8/10的风格,通过"选用"以下代码来使你的UI支持系统主题渲染.

注:该功能不支持XP,建议使用DS控件库中的WIN7风格控件。

新建工程,添加相关控件,复制粘贴以下代码即可

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
DSAPI.Win7特性.任务栏特效.设置任务栏进度(Me.Handle, 50, 100)
'*******缩略图按钮标识ID至少应200以上,以避免系统冲突
'------------------
Dim Itm1 As New DSAPI.Win7特性.任务栏缩略图.缩略图控制按钮
With Itm1
.标记 = DSAPI.Win7特性.任务栏缩略图.缩略图按钮状态.启用
.标识ID = 500
.标志组合 = DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.提示 + DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.图标 + DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.标记
.图标 = My.Resources.D__32_.GetHicon
.提示 = "上一首"
End With
'------------------
Dim Itm2 As New DSAPI.Win7特性.任务栏缩略图.缩略图控制按钮
With Itm2
.标记 = DSAPI.Win7特性.任务栏缩略图.缩略图按钮状态.启用
.标识ID = 501
.标志组合 = DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.提示 + DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.图标 + DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.标记
.图标 = My.Resources.D__41_.GetHicon
.提示 = "暂停"
End With
'------------------
Dim Itm3 As New DSAPI.Win7特性.任务栏缩略图.缩略图控制按钮
With Itm3
.标记 = DSAPI.Win7特性.任务栏缩略图.缩略图按钮状态.启用
.标识ID = 502
.标志组合 = DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.提示 + DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.图标 + DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.标记
.图标 = My.Resources.D__31_.GetHicon
.提示 = "播放"
End With
'------------------
Dim Itm4 As New DSAPI.Win7特性.任务栏缩略图.缩略图控制按钮
With Itm4
.标记 = DSAPI.Win7特性.任务栏缩略图.缩略图按钮状态.启用
.标识ID = 503
.标志组合 = DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.提示 + DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.图标 + DSAPI.Win7特性.任务栏缩略图.缩略图按钮标志.标记
.图标 = Me.Icon.ToBitmap.GetHicon
.提示 = "帮助"
End With
DSAPI.Win7特性.任务栏特效.添加缩略图控制按钮(Me.Handle, New DSAPI.Win7特性.任务栏缩略图.缩略图控制按钮() {Itm1, Itm2, Itm3, Itm4})
AddHandler DSAPI.Win7特性.任务栏特效.缩略图按钮被点击, AddressOf ItmClick
End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DSAPI.Win7特性.任务栏特效.初始化(Me)
DSAPI.控件相关.Form窗体.窗体支持鼠标拖动(Me, True)
Me.ForeColor = Color.FromArgb(255, 2, 2, 2)
For Each S As String In [Enum].GetNames(ListView1.View.GetType)
ComboBox1.Items.Add(S)
Next
ComboBox1.SelectedIndex = 0
For Each S As String In [Enum].GetNames(GetType(DSAPI.Win7特性.任务栏缩略图.任务栏进度条状态))
ComboBox2.Items.Add(S)
Next
ComboBox2.SelectedIndex = 0
End Sub
Sub ItmClick(ID As Integer)
Select Case ID
Case 500
MsgBox("点击了上一首")
Case 501
MsgBox("点击了暂停")
Case 502
MsgBox("点击了播放")
Case 503
MsgBox("点击了帮助")
End Select
End Sub Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
TreeView1.ExpandAll()
End Sub Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
ListView1.View = ComboBox1.SelectedIndex
End Sub Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
Try
Process.Start("SystemPropertiesAdvanced.exe")
Catch
End Try
End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If Form2.Visible = True Then Exit Sub
Form2.Show()
DSAPI.Win7特性.在指定窗体指定区域显示源窗体缩略图(Form2.Handle, New Rectangle(0, 0, Me.Width, Me.Height), Me.Handle, False, 255)
End Sub Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
DSAPI.Win7特性.设置窗体为磨砂透明效果(Me)
End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
DSAPI.Win7特性.使控件应用Win7资源管理器风格(Me)
End Sub Private Sub TrackBar1_ValueChanged(sender As Object, e As EventArgs) Handles TrackBar1.ValueChanged
DSAPI.Win7特性.任务栏特效.设置任务栏进度(Me.Handle, TrackBar1.Value, TrackBar1.Maximum) End Sub Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
DSAPI.Win7特性.任务栏特效.设置任务栏进度条状态(Me.Handle, GetV(ComboBox2.SelectedItem.ToString))
End Sub
Private Function GetV(S As String) As Integer
Dim Ints() As Integer = [Enum].GetValues(GetType(DSAPI.Win7特性.任务栏缩略图.任务栏进度条状态))
For Each T As Integer In Ints
If [Enum].GetName(GetType(DSAPI.Win7特性.任务栏缩略图.任务栏进度条状态), T) = S Then
Return T
End If
Next
Return 0
End Function
End Class

  

DSAPI WIN7风格的更多相关文章

  1. DSAPI WIN7磨砂+窗体投影组合

    你可以使用DSAPI和DS控件库组合多种特效,以下是透明窗体+WIN7磨砂+窗体投影组合效果 设计界面 编写代码 Private Sub Form1_Load(sender As Object, e ...

  2. DSAPI+DS控件库 Windows7风格控件演示

    效果图 部分代码 DSAPI.Win7特性.任务栏特效.初始化() '这句非常重要,很多对任务栏特性的操作都需要先初始化 DSAPI.Win7特性.设置任务栏窗口缩略图(Me, My.Resource ...

  3. DSAPI多功能.NET函数库组件

    DSAPI.dll不定期更新,增加功能,故无法每次都发到网上,如果需要获得最新版DSAPI.dll的,请到QQ群:419130936群共享里下载. 简介     dsapi.dll是一款基于.net平 ...

  4. MFC学习笔记3---使对话框风格与系统统一

    有一件郁闷了我很久的事情,在VS中编辑对话框或者点击预览时都是以Win7风格体现的按钮及对话框: 点击上图测试对话框: 然而生成的应用程序却是这样的: 这样人很不爽啊,按钮风格回到了N年前的版本,复古 ...

  5. CDHtmlDialog的基本使用

    转自:http://blog.csdn.net/sky04/article/details/7587406 因为我的部门只有我一个人(无奈之极,只有我一个做C++的,其他的都在做C#),所以我去跟技术 ...

  6. XP之后Windows的一些变化

    看到很多Windows开发人员,尤其是C++程序员思维还是停留在XP操作系统,当然根据工作是否需要新知识 ,这本身没有错.但是实际上Vista之后的Win7, 再之后的Win8 ,Windows已经发 ...

  7. 基于OSGI.Net的图形界面系统

    在2013年的十月份有幸接触了osgi.net和iopenworks的创始人,了解和学习的插件式开发,开始了后台数据的处理生涯. 第一个有图形界面的系统——智能农业的环境监测系统,其实在这个系统中所有 ...

  8. 堪称神器的Windows软件推荐

    更多软件使用技巧.破解软件以及硬件选购知识,欢迎加入我的QQ群(701974765)与我们交流!! 先贴上软件列表,详细描述后期更新,可自行百度 TrafficMonitor CPU.内存.网速资源监 ...

  9. Ghost Win10系统X64位和32位10041装机版下载

    更多系统下载尽在系统妈:http://www.xitongma.com 特别说明: 1.C:盘分区须至少15GB(安装过程有大量的解压临时文件),安装完成后C:盘占用10GB左右! 2.安装之后如有硬 ...

随机推荐

  1. xshell 快速复制打开之前用过的ssh

    有时候需要对一个ip地址的服务器进行多个操作,不在一个会话中,需要新建多个同样的会话 然后左键单击+号 出现一个新的会话 然后再右键单击+号 选择之前保存过的ip地址即可快速创建!

  2. js 的 骚操作

    单行的js 代码虽然简洁,但却不易维护,甚至难以理解, 但这却并不影响前端童鞋们编写简洁代码的热情, 一   , 生成随机ID // 生成长度为10的随机字母数字字符串 Math.random().t ...

  3. eShopOnContainers 知多少[8]:Ordering microservice

    1. 引言 Ordering microservice(订单微服务)就是处理订单的了,它与前面讲到的几个微服务相比要复杂的多.主要涉及以下业务逻辑: 订单的创建.取消.支付.发货 库存的扣减 2. 架 ...

  4. 阿里开源分布式事务解决方案 Fescar

    微服务倡导将复杂的单体应用拆分为若干个功能简单.松耦合的服务,这样可以降低开发难度.增强扩展性.便于敏捷开发.当前被越来越多的开发者推崇,系统微服务化后,一个看似简单的功能,内部可能需要调用多个服务并 ...

  5. 腾讯云centos服务器不能登录的解决过程

    在腾讯云上申请了一个centos服务器,最基础的配置,1 核 1 GB 1 Mbps,50G硬盘,主要用来测试程序,练手用.在上面配置了一个mysql数据库,一直使用都没什么问题. 1 问题描述 过了 ...

  6. 直观理解神经网络最后一层全连接+Softmax

    目录 写在前面 全连接层与Softmax回顾 加权角度 模板匹配 几何角度 Softmax的作用 总结 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 这篇文章将从3 ...

  7. C++删除文件末尾字符

    C++中使用fstream来进行文件读写,如果要覆盖文件末尾的部分字符,应该怎么操作呢? #include <iostream> #include <fstream> std: ...

  8. Java开发环境Jave EE 和 jdk 下载

    以下软件均为64位环境 jdk版本:jdk1.8.0_181 jave EE版本(当前最新版本4.8):eclipse-jee-photon-R-win32-x86_64.zip 链接:https:/ ...

  9. 2.JAVA-基础语法以及String的介绍

    1.goto和const 目前java中,和C/C++有点区别,就是暂未用到goto const关键字.示例如下: public class Hello{ public static void mai ...

  10. 内部类、异常以及 LeetCode 每日一题

    1 内部类 内部类的作用: 内部类提供了更好的封装,可以把内部类隐藏于外部类之内,不允许同一个包中的其他类访问该类.(例如给“牛”这个类组合一个“牛腿”,则可以把牛腿定义成内部类,因为牛腿脱离了牛没有 ...