qzgx.net
当前位置:首页 >> vB.nEt 如何获取鼠标单击的控件名称 >>

vB.nEt 如何获取鼠标单击的控件名称

这个简单.在VB.net中,每个事件都对应有两个参数:sender 和 e .提取 sender 参数信息就可以获取控件名称.如果不理解其中机制,你直接 msgbox(sender) 将其输出,就能查看其中玄机.获取控件名称代码:CType(sender, Control).Name.

picturebox1.pointtoclient(picturebox1.mouseposition)

取得动态生成的控件数组中的某一属性:对象(对象索引).属性 比如说是command按钮控件,就是 单击一个命令按钮,按钮上标题文本显示在text控件中 private sub command_click(index as integer) text1.text=command(index).caption end sub

For Each c As Control In Me.Controls MessageBox.Show(c.ToString()) Next 一个简单的例子,遍历当前Form下所有TextBox并将Text属性设置为空 For Each ct As Control In Me.Controls If TypeOf ct Is TextBox Then ct.Text = "" End If Next

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim buttonctrl As Button = sender Label1.Text = sender.GetType.FullName + "," + buttonctrl.Name End Sub

GetCursorPos 一个API函数

用 sender.tostring就可以了但是有一个问题,象你说的那样,弹起鼠标的地方,捕获不到mouseup事件,因为在鼠标按下状态时,它进入第二个控件时,不会引起控件焦点改变,应该是正常状态进入到第二个控件才行.

是不是所有控件都有一个CLICK事件呢?如果有的话在这个事件里写就是了,可以保存到数据库,或者一个公共变量里等待下次调用

在click事件中写:textbox1.text=activecontrol.name

private ctrname as string '控件名称private isclick as boolean '鼠标点击状态'注:如果已知点击目标控件的父控件,ctrparent变量可以不要.private withevents ctrparent as control '父控件private sub controlamousedown(sender as object, e as

网站首页 | 网站地图
All rights reserved Powered by www.qzgx.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com