大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Private ctrName As String '控件名称
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比武陵网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式武陵网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖武陵地区。费用合理售后完善,十载实体公司更值得信赖。
Private isClick As Boolean '鼠标点击状态
'注:如果已知点击目标控件的父控件,ctrParent变量可以不要。
Private WithEvents ctrParent As Control '父控件
Private Sub ControlAMouseDown(sender As Object, e As MouseEventArgs) _
Handles Button1.MouseDown
isClick = (e.Button = MouseButtons.Left _
Or e.Button = MouseButtons.Right) '左键或右键按下
If isClick Then
Dim ctr As Control = CType(sender, Control) '转换Object为控件类型
ctrName = ctr.Name '获取控件名称
ctrParent = ctr.Parent '获取控件的父控件
End If
End Sub
'增加这个父控件事件,是为了正确判别鼠标弹起时是否已进入指定目标
Private Sub ParentMouseMove(sender As Object, e As EventArgs) _
Handles ctrParent.MouseMove '如果已取消ctrParent变量,改为相应的父控件
If isClick Then isClick = False '点击状态关闭
End Sub
Private Sub ControlBMouseUp(sender As Object, e As EventArgs) _
Handles Button2.MouseEnter
If isClick Then '如果点击状态为打开
Dim ctr As Control = CType(sender, Control) '转换Object为控件类型
MsgBox(ctrName " | " ctr.Name) '弹出消息显示结果
End If
End Sub
Dim c As Control
For Each c In Me.Controls
Debug.WriteLine(c.Name ":" TypeName(c))
Next
这个简单。
在VB.net中,每个事件都对应有两个参数:sender 和 e 。提取 sender 参数信息就可以获取控件名称。如果不理解其中机制,你直接 msgbox(sender) 将其输出,就能查看其中玄机。
获取控件名称代码:CType(sender, Control).Name。