c# winform 怎么给程序的按钮上也加上小盾牌图标
2013-04-22 13:43
405 查看
需要调用Win32API了
要调用API么,要先引用命名空间
然后调用API
在Form上拖个Button,拖大一点哦,小了图标看不清
然后在Form1_Load里,用API把图标加到Button1上
要调用API么,要先引用命名空间
usingSystem.Runtime.InteropServices;
然后调用API
[DllImport("user32.dll")] privatestaticexternIntPtrSendMessage(HandleRefhWnd,uintMsg,IntPtrwParam,IntPtrlParam); /////////////////////////////////////////////////////////////////////// ///<summary> ///Enablestheelevatedshieldicononthegivenbuttoncontrol ///</summary> ///<paramname="ThisButton"> ///Buttoncontroltoenabletheelevatedshieldiconon. ///</param> /////////////////////////////////////////////////////////////////////// privatevoidEnableElevateIcon_BCM_SETSHIELD(ButtonThisButton) { //Inputvalidation,validatethatThisControlisnotnull if(ThisButton==null) { return; } //DefineBCM_SETSHIELDlocally,declaredoriginallyinCommctrl.h uintBCM_SETSHIELD=0x0000160C; //Setbuttonstyletothesystemstyle ThisButton.FlatStyle=FlatStyle.System; //SendtheBCM_SETSHIELDmessagetothebuttoncontrol SendMessage(newHandleRef(ThisButton,ThisButton.Handle),BCM_SETSHIELD,newIntPtr(0),newIntPtr(1)); }
在Form上拖个Button,拖大一点哦,小了图标看不清
然后在Form1_Load里,用API把图标加到Button1上
privatevoidForm1_Load(objectsender,EventArgse) { EnableElevateIcon_BCM_SETSHIELD(button1); }
最后执行看下效果吧!
恩?盾牌为啥有点不一样呢,上面那个图标是server08上的,win7上应该是下面这样:
有错误的地方欢迎指出。
相关文章推荐
- 【转载】c# winform 怎么给程序的按钮上也加上小盾牌图标
- C#winform中怎么将程序最小化到系统托盘
- C#winform中怎么将程序最小化到系统托盘
- 在C#中怎么让应用程序在任务栏上显示该程序的图标?
- C# 怎么让winform程序中的输入文本框保留上次的输入
- c# 做的登录窗体,登录成功后当前登录Form关闭,打开Main窗体,但Main窗体点关闭按钮后程序仍在进程怎么办
- C#winform中怎么将程序最小化到系统托盘
- C#winform中怎么将程序最小化到系统托盘
- C# winform程序怎么打包成安装项目(图解)
- C#winform中怎么将程序最小化到系统托盘
- C# winform 按钮设置左边图标
- C# Winform 怎么让按钮在Panel里居中显示
- 怎么给自己的程序加上图标
- 用 c 调用 win-api 实现自动点击c# winform 程序 的按钮
- C# Winform 怎么让按钮在Panel里居中显示
- C# winform调用类似按钮点击的事件时自带参数该怎么写
- C#窗体程序怎么点击按钮打开一个选择文件的对话框
- C#实现WinForm程序的动态系统托盘图标
- C# WinForm实现任务栏程序图标闪烁
- C# winform程序中datagridview里按钮的单击事件