【转载于博客】2cto.com/kf/201304/205317.html

c# winform 怎么给程序的按钮上也加上小盾牌图标

作者:simadi

需要调用Win32 API了

【1】要调用API么,要先引用命名空间

using System.Runtime.InteropServices;

【2】然后调用API

[DllImport("user32.dll")]
private static extern IntPtr SendMessage(HandleRef hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

/// <summary>
        ///     Enables the elevated shield icon on the given button control
        /// </summary>
        /// <param name="ThisButton">
        ///     Button control to enable the elevated shield icon on.
        /// </param>
        ///
        private void EnableElevateIcon_BCM_SETSHIELD(Button ThisButton)
        {
            // Input validation, validate that ThisControl is not null
            if (ThisButton == null)
            {
                return;
            }

// Define BCM_SETSHIELD locally, declared originally in Commctrl.h
            uint BCM_SETSHIELD = 0x0000160C;

// Set button style to the system style
            ThisButton.FlatStyle = FlatStyle.System;

// Send the BCM_SETSHIELD message to the button control
            SendMessage(new HandleRef(ThisButton, ThisButton.Handle), BCM_SETSHIELD, new IntPtr(0), new IntPtr(1));
        }

在Form上拖个Button,拖大一点哦,小了图标看不清

【3】然后在Form1_Load里,用API把图标加到Button1上

private void Form1_Load(object sender, EventArgs e)
        {
            EnableElevateIcon_BCM_SETSHIELD(button1);

        }

最后执行看下效果吧!


  恩?盾牌为啥有点不一样呢,上面那个图标是server08上的,win7上应该是下面这样: 
有错误的地方欢迎指出。

【转载】c# winform 怎么给程序的按钮上也加上小盾牌图标相关推荐

  1. c# winform 怎么给程序的按钮上也加上小盾牌图标

    需要调用Win32 API了 要调用API么,要先引用命名空间 using System.Runtime.InteropServices; 然后调用API [DllImport("user3 ...

  2. 鼠标移动到按钮上显示小手图标

    <input type="submit" value="ok" style="cursor:hand" /> 转载于:https ...

  3. Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏

    Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏//获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Assembly.Loca ...

  4. [转载]保护 ASP.NET 应用程序的安全

    查看全部的安全性指导主题 Microsoft Corporation 本单元概要 保护 ASP.NET Web 应用程序依赖于完全受到保护的网络.主机和平台基础结构.如果果真如此,攻击者将试图利用 W ...

  5. winform DMI应用程序,可打开、排列和关闭子窗口

    winform DMI应用程序,可打开.排列和关闭子窗口 实现功能如下: ①可打开多个子窗口 ②关闭当前活动子窗口 ③关闭应用程序 ④排列已打开的子窗口 ⑤关闭所有子窗口 操作如下: ⑥创建窗体5-6 ...

  6. 【C#】 WinForm窗体应用程序学习笔记 (一)

    WinForm窗体应用程序学习笔记(一) 由于控制台应用程序的运行结果都是通过控制台输出的,不能提供良好的用户体验,为此,C#提供了WinForm窗体应用程序.WinForm具有一系列丰富的控件,用于 ...

  7. 微信小程序——添加按钮格式

    微信小程序--添加按钮 步骤一:在wxml文件中添加按钮代码(图后提供可复制代码) <button class = "button_cat">炸炸呼呼</butt ...

  8. 如何在其他程序的窗口上创建按钮并使之能响应

    如何在其他程序的窗口上创建按钮并使之能响应 源代码下载 环境:Windows NT/2000 实现方法:采用将动态连接库注入到其他进程中的方法来实现. 为了便于选择窗口,我借用了另一个程序" ...

  9. 小程序按钮调用扫一扫_他在一个小程序“按钮”上动了个手脚,生意大火,赢得美人归!...

    在中小企业成长的市场调查中总是有很多故事,今天给分享一个"在一个小按钮上动动手脚,赢得美人归"的小故事. 故事是这样的,这个餐饮店的老板叫大强,做的是肉夹馍生意.那天我看他家生意非 ...

最新文章

  1. 一文读懂Python复杂网络分析库networkx | CSDN博文精选
  2. ‘FactorAnalyzer‘ object has no attribute ‘analyze‘和fa.loadings改成fa.loadings报错解决
  3. Shell多线程操作及线程数控制实例
  4. 使用wsimport命令创建Web Service客户端
  5. Linux 安装 配置 Maven
  6. shell 生活0806012145
  7. 【python】 调用selenium中 ChromeDriver不匹配的问题
  8. lesson - 1 - IP /DNS /cat !$ /putty 知识扩充
  9. 二十五、JAVA多线程(二、吃苹果案例)
  10. div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法
  11. 找个网页游戏插件开发团队
  12. VS Code unins000尝试在目标目录创建文件时出错
  13. 疯狂语音红包 5.2.0 微信红包引流吸粉
  14. 无水印火山小视频下载教程
  15. 计算机打印怎么取消,电脑怎么取消打印任务_打印机取消打印任务的详细步骤...
  16. 潇洒郎:批量压缩大师——python实现文件批量命名+批量加密码——GUI软件——打包exe文件
  17. Spire.PDF:如何添加、删除PDF页面以及自定义文档属性
  18. 在SVN服务器彻底删除文件
  19. 汽车配件管理系统分析报告
  20. 《淘宝技术这十年》读书笔记 (四). 分布式时代和中间件

热门文章

  1. 未来教育计算机二级ppt截图,(未来教育 全国计算机等级考试 二级Access教程 配套.ppt...
  2. Excel中智能生成序号,删除序号可自动(更新)接上
  3. 华为手机升级回退_EMUI4.0回退EMUI3.1!通过华为手机助手也能实现
  4. 网络安全工程师最详细学习和职业规划路线(书籍推荐和导图下载)
  5. 微信小程序上传图片报错:uploadFile:fail url not in domain list
  6. Java中条件判断中EQ、NE、GT、LT、GE、LE分别代表含义
  7. 女生转行互联网怎样拿高薪?南京校区小姐姐给出答案,软件测试16k成功上岸!
  8. 计算机管理扩展灰色,为什么c盘扩展卷灰色?win7系统c盘扩展卷灰色如何解决
  9. C盘扩展是灰色的怎么办?
  10. 架构师和程序员的区别