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

【转载于博客】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,拖大一点哦,小了图标看不清

 image

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

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

        }

最后执行看下效果吧!

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想要在Winform应用程序中为树节点添加图标,可以使用ImageList和TreeView控件来实现。以下是一些步骤: 1. 在Visual Studio中,打开您的Winform应用程序。 2. 在工具箱中找到ImageList和TreeView控件,将它们都拖到您的窗体上。 3. 在属性窗口中,为ImageList添加您要使用的图标。例如,您可以从资源文件中导入图标,或者使用系统自带的图标。 4. 在TreeView控件中,将ImageList属性设置为您刚才创建的ImageList。 5. 使用TreeView控件的节点事件来添加节点和图标。例如: ``` private void Form1_Load(object sender, EventArgs e) { // 添加一个根节点 TreeNode rootNode = new TreeNode("根节点"); // 添加子节点,并为其设置图标 TreeNode childNode = new TreeNode("子节点"); childNode.ImageIndex = 0; // 设置图标在ImageList中的索引 childNode.SelectedImageIndex = 0; // 设置选中时的图标在ImageList中的索引 rootNode.Nodes.Add(childNode); // 将根节点添加到TreeView控件中 treeView1.Nodes.Add(rootNode); } ``` 在上面的示例中,我们为一个子节点添加了一个图标。您可以根据需要更改图标的索引,或者为其他节点添加不同的图标。 请注意,在使用树节点添加图标时,您需要事先准备好ImageList,并将其与TreeView控件关联。此外,您还可以在代码中使用Image.FromFile方法加载图标文件,并将其设置为节点的Image和SelectedImage属性,以便为每个节点添加不同的图标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值