【转载于博客】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. pandas将满足某列的值挑出
  2. (13)处理静态资源(自定义资源映射)【从零开始学Spring Boot】
  3. 从无到有:微信后台系统的演进之路
  4. 计算机请说明您的专业知识与技能,湖南省2012对口招生考试计算机类专业综合考试大纲...
  5. 不重复打印排序数组中相加和为给定值的所有二元组和三元组
  6. python closure闭包 lambda表达式
  7. optee运行时来了一个REE(linux)中断--代码导读
  8. 线程不能被子进程继承
  9. 短视频自研还是选择第三方?技术选型前必看的自检清单
  10. 数字信号处理的fpga实现_FPGA数字信号处理:通信类I/Q信号及产生
  11. JAVA 异常 throw 与 throws
  12. 线程间通讯《代码》pthread_cond_t
  13. python爬虫网络中断_python爬虫项目设置一个中断重连的程序的实现
  14. 可扩展多线程异步Socket服务器框架EMTASS 2.0
  15. 用户故事讲解(看最后的例子,你应该就知道怎么样写用户故事了)
  16. 时间分集、空间/天线分集、频率分集——无线通信中的分集技术
  17. java 独木桥_Java实现洛谷 P1007独木桥
  18. 论文笔记:主干网络——DenseNet
  19. 利用cookie传值
  20. unity安卓接入极光推送Demo详解

热门文章

  1. 这款又红又专的App,如何在苹果商店一夜登顶?
  2. MySQL数据表查询操
  3. 【蓝桥杯】承压计算python实现
  4. Java基础——数组实现+排序实现福利彩票抽奖
  5. NTP服务器(时钟服务器)京准教你选购方法
  6. 蒸妙发展的奇妙“5+N”故事擅长将合作方变股东
  7. uni-app卖座电影多端开发纪实(五):使用插件
  8. 怎样用一个DIV绘制熊猫头像
  9. TpLink随身wifi之linux驱动安装
  10. 1A1C、2A2C多口快充电源设计,支持PD3.1