扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
vb点虐 教程之vb点虐 的Button控件
创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,网站建设、成都网站建设,塑造企业网络形象打造互联网企业效应。
vb点虐 的Button控件
Button(按钮)控件一般接受鼠标单击事件被用来启动、中断或结束一个进程(相当于Visual Basic以前版本的CommandButton控件)。单击Button控件时将调用已写入Click事件过程中的过程。Button控件在大多数Visual Basic应用程序中都会用到,用户可以单击按钮执行操作。单击时,按钮不仅能执行相应的操作,而且看起来与被按下和松开一样。Button控件在工具箱中的图标如图所示:
1.向窗体添加按钮
在应用程序中很可能要使用多个按钮。就象在其他容器控件上绘制按钮那样,从工具箱里把Button控件直接拖到窗体上即可。可用鼠标调整按钮的大小,也可通过设置Location(坐标,用来确定控件相对窗体左上方顶点的位置)和Size(大小,第一个参数代表宽度,第二个参数代表高度)属性进行调整。
2.设置按钮显示文本
可用Text属性改变按钮上显示的文本。设计时,可在控件的“属性窗口”中设置此属性。在设计时设置Text属性后将动态更新按钮文本。Text属性最多包含255个字符。若标题超过了命令按钮的宽度,则会折到下一行。但是,如果控件无法容纳其全部长度,则标题会被剪切。可以通过设置Font属性改变在命令按钮上显示的字体。
3.创建键盘快捷方式
可通过Text属性创建按钮的访问键快捷方式。为此,只需在作为访问键的字母前添加一个连字符()。例如,要为标题“Ok”创建访问键,应在字母“O”前添中连字符,于是得到“Ok”。运行时,字母“O”将带下划线,同时按Alt+O键就可执行单击按钮程序所执行的动作。
注意:如果不创建访问键,而又要使标题中包含连字符,应添加两个连字符()。这样,在标题中就只显示一个连字符。
4.选定按钮
运行时,可用鼠标或键盘通过下述方法选定按钮:
(1)用鼠标单击按钮;
(2)按Tab键,将焦点转移到按钮上,然后按Enter键选定按钮;
(3)按按钮的访问键([Alt+带有下划线的字母])。
5.Click事件
运行时单击按钮,将触发按钮的Click事件并执行写入Click事件过程中的代码,同时,单击按钮的过程也将生成MouseMove、MouseLeave、MouseDown和MouseUp等事件。如果要在这些相关事件中附加事件过程,则应确保操作不发生冲突。对控件的操作不同,这些事件过程发生的顺序也不同。Button控件的单击事件发生顺序为:
MouseMove→MouseDown→Click→MouseUp→MouseLeave
注意:如果用户试图双击按钮控件,则其中每一次单击都将分别处理;也即按钮控件不支持双击事件。
6.增强按钮的视觉效果
按钮控件象复选框和选项按钮一样,可通过Image属性设置Button控件上的图标以增强视觉效果,然后设置图标(图片)的属性:ImageAlign显示图标(图片)的位置。通过设置ImageIndex(图片在图片框中的索引)以及ImageList(图片框)则可实现如下的效果,比如要向按钮添加图标或位图,或者在单击、禁止控件时显示不同的图象等等。
首先要添加两个窗体,假设第一个窗体名为Form1,第二个窗体名为Form2。在Form1窗体中添加个按钮Command1。按钮单击事件的代码为:
Private Sub Command1_Click()
Form2.Show '用show方法加载并且显示名为Form2的窗体
End Sub
show 方法后面省略了两个参数即Form2.Show 0或Form2.Show 1此参数可缺省。可自行运行验证
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)
您好,这种方法可以通过按钮的MouseDown和MouseUp事件来实现,比如说,当单击按钮RedColor(RedColor为这个按钮的Name属性的属性值)的时候,要使按钮的颜色变成红色,这可以在代码视图中的控件选择下拉列表中选择RedColor这个控件,然后在右边的事件下拉列表中选择MouseDown事件(当按下鼠标时发生),这时,Visual Studio会自动生成如下代码:
Private Sub RedColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseDown
End Sub
接下来就在当前生成的代码中写入如下代码:
RedColor.BackColor = Color.FromArgb(255, 0, 0)
这句代码的作用是利用Color下的FromArgb方法来设置RGB颜色参数,在RGB颜色系统中,R代表红色,G代表绿色,B代表蓝色,根据这三种颜色的不同程度的调和,就会得到不同的颜色,如果您要得到深色的天蓝色,则可以设置FromArgb(0, 191, 255),这个颜色转换为HTML中的RGB颜色就是#00BFFF。
当然颜色还原最好是写在MouseUp事件里面,这样就不必在单击其他按钮时来还原上一次按下的按钮的颜色,在这里,为了方便描述,我们假设按钮的默认颜色为白色,也就是FromArgb方法设置为FromArgb(255, 255, 255)的时候,所标示的颜色就是白色
所以选择了RedColor按钮的MouseUp事件后,Visual Studio会自动生成下列代码:
Private Sub RedColor_MouseUp(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseUp
End Sub
MouseUp的含义是当鼠标弹起时发生,所以在这个事件就可以设置按钮颜色的还原,即添加下列代码来实现:
RedColor.BackColor = Color.FromArgb(255, 255, 255)
当然,这就编写好了一个按钮按下时变色,回弹时还原的功能,至于另外一个按钮的功能,这与这个按钮的功能一样,只是代码有一些细微的差别而已,假设这个按钮的Name属性的属性值为BlueColor,相应的代码对应如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(0, 0, 255) '蓝色的FromArgb
End Sub
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
另外,为了避免代码的冗余,可以将RedColor和BlueColor的MouseUp事件进行合并,这合并后的代码如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown, RedColor.MouseUp
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
RedColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
当然,这个你只要分析了控件事件代码的基本结构,一切就一目了然了,控件事件代码的基本结构如下:
[作用域] Sub 事件名([参数列表]) Handles 控件事件1 [, 控件事件2, 控件事件3...]
[事件代码区域]
End Sub
如果此回答对您有帮助,别忘了采纳哦,如果没有解决您的问题,您可以在互联网上寻找更多关于此问题的解决方案,谢谢!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流