资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net按钮设计,vb程序设计窗口命令按钮

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

窗口边框(FormBorderStyle)设为None,窗口(WindowState)设为Maximized,如果想让窗口背景透明,将窗口背景颜色和TransparencyKey设为同一种颜色,按钮用Label(标签)代替,背景设为Transparent,边框设为None,文字位置一般是下中,Label控件支持无边框。

创新互联2013年至今,先为金寨等服务建站,金寨等地企业,进行企业商务咨询服务。为金寨企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

动感效果在鼠标事件(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("路径")打开指定程序

先列出这些吧

VB.net怎么制作一个可以拖动的button?

基本思路是在按钮的 MouseMove 事件中检测鼠标左键的状态,如果是按下就跟着移动按钮的位置。

vb.NET 生成按钮

Public Sub GenerateDynamiceButton()

'建立 坐标位置的变数, 方便一会儿安排 自动生产的button 的位置

Dim y As Integer = 15

Dim x As Integer = 0

' 用for loop 来建立 这些button 做 18只button

For ButtonIndex As Integer = 0 To 17

' 建造新的 button

Dim MyButton As New Button

'设定这新的button 的阔度

MyButton.Width = 80

'设定这新的button 的高度

MyButton.Height = 20

'我们暂定每行有4个BUTTON, 当每行有多个4个BUTTON 时重设行距, 令到下一行的和这一行的距离有10 个PIXEL

' 和重设x 坐标` = 0, 令到位置由头开始

If ButtonIndex Mod 4 = 0 Then

'设定 TOP 的 坐标位置令他可以和上一排的有10个PIXEL 的距离

y += MyButton.Height + 10

x = 0

End If

'设定文字 和 位置

' Set the text and set its top and left based on its dimensions and count

MyButton.Text = "My Button" ButtonIndex

'设定 TOP 的 坐标位置

MyButton.Top = y

'下面的CODE 可以令到这个BUTTON 和另一个BUTTON 有5个PIXEL 的距离

MyButton.Left = 26 + (x * (MyButton.Width + 5))

x += 1

'设定 BUTTON CLICK EVENT

AddHandler MyButton.Click, AddressOf MyButton_Click

'把button 加到 form 中

Me.Controls.Add(MyButton)

Next

End Sub

'处理 button click event

Private Sub MyButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Dim btn As Button = sender

'pop up 一个自己button 的字的message

MsgBox(btn.Text)

vb.net 平面按钮

本来有个属性FlatStyle设置为Popup基本上能实现这个情况,怎奈有个线框怎么也弄不掉。FlatAppearance.BorderSize设置为0不起作用,只对Flat有用,所以用代码在Flat和Popup两种风格之间切换。

'在鼠标进入时设置为浮雕风格

Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter

Button1.FlatStyle = FlatStyle.Popup

End Sub

'离开时设置为平面风格,这样像标签一样只剩下文字,当然要FlatAppearance.BorderSize设置为0

Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave

Button1.FlatStyle = FlatStyle.Flat

End Sub

'另外把UseVisualStyleBackColor 设置为 False也会好看一点。

【vb.net/vb2012】怎么设置自定义按钮?自己弄按钮样子的

有两种

button的MouseEnter,MouseDown,MouseLeava的事件上写相当的代码(Button.BackColor=Color.Red)

自己做一个UserControl(用户控件)


网页标题:vb.net按钮设计,vb程序设计窗口命令按钮
新闻来源:http://cdkjz.cn/article/hddcso.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220