Aug 19
在.NET平台下,事件的绑定可以说是不得不经常面对的一件事情.当然绝大多数时间,这些操作都是由VS自动完成的.这些操作一般会在初始化的时间完成.之后就不会在执行了..NET的强大之处就是,既可以很自动化,又可以让你完全掌控.事件的处理也是一样,可以自己编写这部分的代码.给所有控件的keydown事件做同样的操作.当然,实现这个也有很多种方法.不过,总有一种最简洁的.
Private Sub TabHandleEnter(ByRef controls As Control.ControlCollection)
For Each ctl As Control In controls
If ctl.GetType.Name.Equals("GroupBox") Or ctl.GetType.Name.Equals("Panel") Then
TabHandleEnter(ctl.Controls)
Else
AddHandler ctl.KeyDown,AddressOf EnterKeyDown
End If
Next
End Sub
这样就写一个EnterKeyDown,就可以处理所有的控件的keydown事件了.不过,这个函数有一个小问题,就是AddHandler ,C#里面绑定事件的操作符是+=.如果说这个操作符意味了什么的话啊,也就是你不能绑定两次,当然除非你有这方面的特别需求.你每执行一次.你绑定的函数在被激发的时间就会都走一次…所以,一定要确保绑定时间的时间,只被绑定一次.

Most Commented