Dim?I?As?Integer
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Button1.Text?=?"继续"
TextBox1.Text?=?I
I?=?I?◆?1
End?Sub
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
代码如上 如图的效果
思路
两种方式:
①.、通过动态按钮方式创建,
个人倾向于通过控件数组的方式.一般应用都是有规律的创建的,所以用控件数组合适些.
举例
'?先在窗体上添加一个标准按钮
'?在属性窗口中,把它的?Index属性设置成?0
'??名称改为?cmdDynCmd?(其它的名称也行,注意后面的说明)
'??Visible?可以设置成?False
Option?Explicit
Private?lCmdIndex?As?Long
Private?Sub?LoadCmdButton()
'这儿就是加载动态按钮的
Dim?i
For?i?=?0?To?NNN?'这儿NNN等于你需要的按钮数减1,可以用变量的
'你应该能通过你的"数据库中"a"表中"名称"字段"项目数?来确定值为多少
'?***?注意这儿的?cmdDynCmd?就是设计时确定的按键名称?***
If?(lCmdIndex?0)?Then?Load?cmdDynCmd(i)
cmdDynCmd(i).Visible?=?True
'这儿的?Caption?属性,你自己用代码跟你的?数据库中"a"表中"名称"字段内容关联
cmdDynCmd(i).Caption?=?"动态按钮"?i?◆?1
'这儿的?x?、y?你可以根据?i?的值来进行计算
cmdDynCmd(i).Top?=?X
cmdDynCmd(i).Left?=?Y
'直接?cmdDynCmd(i).move?x,?y也行
next
'?这儿就是动态按钮的事件代码
'?根据?Index?判断是哪个按钮触发了事件
'?跟你事先设计好的控件数组完全是相同的用法
'?*****?注意!!!注意这儿的?cmdDynCmd?就是设计时确定的按键名称
Private?Sub?cmdDynCmd_Click(Index?As?Integer)
'具体事件代码只能你自己写
窗口边框(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函数.
①.、首先定义所需要用到的常量
如图所示,在窗体代码后定义常量和API函数
代码如下:
Public Const MOD_ALT As Integer = H1
下面过程是注册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
[apge]
下面过程为重载WndProc过程,响应热键并处理热键,这里是用来隐藏和显示程序主界面.
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_HOTKEY Then
MyBase.WndProc(m)
最后在关闭窗体的时候释放占用的热键,如果前面注册失败的话,则会出现释放失败的结果.
Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
isResult=UnRegisterHotKey(Handle, 0)
双击打开指定的程序
Private Sub Label1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.DoubleClick
System.Diagnostics.Process.Start("路径")打开指定程序
先列出这些吧
Public Sub GenerateDynamiceButton()
'建立 坐标位置的变数, 方便一会儿安排 自动生产的button 的位置
Dim x As Integer = 0
' 建造新的 button
Dim MyButton As New Button
'设定这新的button 的阔度
'设定这新的button 的高度
' 和重设x 坐标◆ = 0, 令到位置由头开始
'设定 TOP 的 坐标位置令他可以和上一排的有10个PIXEL 的距离
y ◆= MyButton.Height ◆ 10
x = 0
'设定文字 和 位置
' Set the text and set its top and left based on its dimensions and count
MyButton.Text = "My Button" ButtonIndex
'设定 TOP 的 坐标位置
MyButton.Top = y
x ◆= 1
'设定 BUTTON CLICK EVENT
AddHandler MyButton.Click, AddressOf MyButton_Click
'把button 加到 form 中
Me.Controls.Add(MyButton)
Next
'处理 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)
是有错误嘛,因为表名family后应该有一个空格才能接(num,name,pwd,qx,bz)
以上就是土嘎嘎小编为大家整理的vb.net创建按纽的简单介绍vb.net创建按纽的简单介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!