在GotFocus事件里面如何知道是那个控件失去了焦点吗?
请问,那个大哥大姐知道,在GotFocus事件里面如何知道是那个控件失去了焦点吗?
1.如果这些控件都在一个Form里。
2.如果不在同一个Form里面。
非常感谢。
问题点数:30、回复次数:6Top
1 楼Yiqun_Zhao(蓝帆·雨轩 MS MVP)回复于 2005-08-03 13:13:43 得分 0
使用LostFocusTop
2 楼zf19811031(一凡)回复于 2005-08-03 15:22:21 得分 0
lostfocus 好像不能知道是哪个控件失去光标的吧Top
3 楼stringbuilder(~~~叶赫拉那.易卜拉欣.海豚~~~)回复于 2005-08-04 16:50:51 得分 0
在窗口打开的事件里面把所有控件的GETFOCUS通过委托绑定到一个方法里面,然后定义一个结构,包括两个成员,保存原来的焦点控件和当前的焦点控件,这样在新的控件获得焦点的时候就知道上一个控件是哪个了!Top
4 楼pegtop(再回首)回复于 2005-08-04 17:18:59 得分 0
定义一个全局变量,并在所有控件的LostFocus事件中将本控件的名称赋予那个变量,通过取得变量的值就可以知道哪个控件失去光标了。Top
5 楼lxutao(蓝海豚)回复于 2005-08-17 18:09:07 得分 0
谢谢大家的热心,但是没有简单的方法吗?
各位给的方法都要对所有的controls进行操作,只是把所有controls写一遍也累死人了,如果你的Form里controls太多了。
Top
6 楼r0ex(地狱门神)回复于 2005-08-21 00:33:44 得分 0
综合了一下。
Public Class Form1
Private LastLostFocusControl As Control
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For Each Control As Control In Me.Controls
AddHandler Control.LostFocus, AddressOf Controls_LostFocus
Next
End Sub
Private Sub Controls_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs)
LastLostFocusControl = sender
End Sub
End Class
Top




