问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

vb.net 如何制作图标按钮 ?急急急!!在线等!

发布网友 发布时间:2022-04-21 17:36

我来回答

1个回答

热心网友 时间:2023-11-09 02:25

窗口边框(FormBorderStyle)设为None,窗口(WindowState)设为Maximized,如果想让窗口背景透明,将窗口背景颜色和TransparencyKey设为同一种颜色,按钮用Label(标签)代替,背景设为Transparent,边框设为None,文字位置一般是下中,Label控件支持无边框。
动感效果在鼠标事件(MouseDown按下,MouseUp抬起,MouseEnter进入,MouseLeave离开)更换指定的图片;

添加timer控件还可以使用动画
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Label1.Refresh()
End Sub

快捷键用热键
RegisterHotKey
函数功能:该函数定义一个系统范围的热键。
函数原型:BOOL RegisterHotKey(HWND hWnd,intid,UINT fsModifiers,UINT vk);

参数:
hWnd:接收热键产生WM_HOTKEY消息的窗口句柄。若该参数NULL,传递给调用线程的WM_HOTKEY消息必须在消息循环中中进行处理。
id:定义热键的标识符。调用线程中的其他热键不能使用同样的标识符。应用功能程序必须定义一个0X0000-0xBFFF范围的值。一个共享的动态链接库(DLL)必须定义一个0xC000-0xFFFF范围的值伯GlobalAddAtom函数返回该范围)。为了避免与其他动态链接库定义的热键冲突,一个DLL必须使用GlobalAddAtom函数获得热键的标识符。
fsModifoers:定义为了产生WM_HOTKEY消息而必须与由nVirtKey参数定义的键一起按下的键。该参数可以是如下值的组合:
MOD_ALT:按下的可以是任一Alt键。MOD_CONTROL:按下的可以是任一Ctrl键。
MOD_SHIFT:按下的可以是任一Shift键。
MOD_WIN:按下的可以是任一Windows按键。

vk:定义热键的虚拟键码。
返回值:若函数调用成功,返回一个非O值。若函数调用失败,则返回值为0。若要获得更多的错误信息,可以调用GetLastError函数。
备注:当某键被接下时,系统在所有的热键中寻找匹配者。一旦找到一个匹配的热键,系统将把WM_HOTKEY消息传递给登记了该热键的线程的消息队列。该消息被传送到队列头部,因此它将在下一轮消息循环中被移去。该函数不能将热键同其他线程创建的窗口关联起来。
若为一热键定义的击键己被其他热键所定义,则RegisterHotKey函数调用失败。
若hWnd参数标识的窗口已用与id参数定义的相同的标识符登记了一个热键,则参数fsModifiers和vk的新值将替代这些参数先前定义的值。
若设置MOD_KEYUP位,则当发生键被按下或被弹起的事件时,窗口将发送WM_HOTKEY消息。
RegisterHotKey可以被用来在线程之间登记热键。

UnregisterHotKey
函数功能:该函数释放调用线程先前登记的热键。
函数原型:BOOL UnregisterHotKey(HWND hWnd,int id);
参数:
hWnd:与被释放的热键相关的窗口句柄。若热键不与窗口相关,则该参数为NULL。
id:定义被释放的热键的标识符。
返回值:若函数调用成功,返回值不为0。若函数调用失败,返回值为0。若要获得更多的错误信息,可以调用GetLastError函数。

1、首先定义所需要用到的常量
如图所示,在窗体代码后定义常量和API函数
代码如下:
Public Const WM_HOTKEY As Integer = &H312
Public Const MOD_ALT As Integer = &H1
Public Const MOD_CONTROL As Integer = &H2
Public Const MOD_SHIFT As Integer = &H4
Public Const GWL_WNDPROC As Integer = (-4)
Public Declare Auto Function RegisterHotKey Lib "user32.dll" Alias "RegisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Boolean
Public Declare Auto Function UnRegisterHotKey Lib "user32.dll" Alias "UnregisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer) As Boolean
下面过程是注册Ctrl+T的组合键为组合键,假如注册成功,则返回true,反之注册失败则返回false,我们可以根据返回的结果判断并提醒用户注册的情况。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim isResult As Boolean
isResult=RegisterHotKey(Handle, 0, MOD_CONTROL, Asc("T")) ’注册Ctrl+T的组合键
If isResult = False Then
MsgBox("注册热键Ctrl+T失败")
End If
End Sub

[apge]
下面过程为重载WndProc过程,响应热键并处理热键,这里是用来隐藏和显示程序主界面。
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_HOTKEY Then
System.Diagnostics.Process.Start("C:\WINDOWS\system32\freecell.exe")'运行当空接龙游戏
End If
MyBase.WndProc(m)
End Sub
最后在关闭窗体的时候释放占用的热键,如果前面注册失败的话,则会出现释放失败的结果。
Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
Dim isResult As Boolean
isResult=UnRegisterHotKey(Handle, 0)
End Sub

双击打开指定的程序
Private Sub Label1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.DoubleClick
System.Diagnostics.Process.Start("C:\WINDOWS\system32\freecell.exe")
End Sub

System.Diagnostics.Process.Start("路径")打开指定程序

先列出这些吧
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
介绍几个好玩的单机游戏,要封网一段时间了。。 请问谁知道四川宜宾公租房手续如何办理?时间地点?都有哪些要求?谢谢好 ... 婴儿过敏性鼻炎怎么办 四川,内江在哪里可以申请公租房需要些什么条件,本人是农村户籍? 我和我姐是四川户籍农村的,现在在重庆上班四年了,想在想在重庆申请公... 四川农村户口,想在重庆申请公租房可以吗?具体需要哪些条件。_百度知 ... Steam游戏更新失败怎么办 疯狂动物园草原地图动物解析 威客中国的运作过程威客中国 威客中国的交易问题``! Powerbi中如何实现带图标的按钮 怎么安慰亲人离世的人 如何使icon充满整个JButton jsf中button的 icon属性有什么 APP里面的按钮图标一般尺寸多大 android中带图标的按钮(ImageButton)怎么用 首都师范大学专科有什么专业 分数线是多少 卡萨帝洗烘一体机洗涤剂要点击吗 怎么用vc6.0给按钮添加图标.ico 怎么安慰亲人去世的朋友 报考首都师范大学音乐系学钢琴专业的用考第二乐器... 告的上部怎么读 如何制作ico图标? 音乐学专业成绩87分,文化课500分能考上首师大吗? 按要求写成语。(每小题写4个) C# button.image 如何是使用icon格式的图标?如何当... 我需要中国所有汉字啊急急急 首都师范大学艺术类分数线 新买的海尔滚筒洗衣机在使用单烘干功能中按了暂时... JButton(Icon)图片按钮无法显示图片 朋友亲人去世了,该怎么安慰 java 如何用swing创建一个带图标的按钮 如何安慰亲人去世 java button 里的图片怎么适应按钮大小? 外地车牌在杭州可在支付宝上办理年检吗? 外地牌照车可以在杭州年检吗? 外地机动车在杭州好年审吗 杭州车管所办理异地年检需要什么手续 2022年二手车5月1日政策可以跨省验车 杭州车辆异地年检需要什么手续 外省车可以在本地直接去年检吗 上海牌照杭州检车,异地检车的事宜? 怎样申请异地车辆年检啊?需要什么证件呢? 外地车年检需要什么手续? 沪C车辆能在杭州年检吗 杭州牌照汽车可以在异地年检吗? 17年买的车外地的牌照19年可以在杭州申请年检标志吗 外地驾驶证可在杭州年审吗? 外省的摩托车能在杭州年检吗 杭州市的外地摩托车怎么年检?
  • 焦点

最新推荐

猜你喜欢

热门推荐