首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

会判斷出是在哪一個控件按了鍵嗎

2011-12-20 
能判斷出是在哪一個控件按了鍵嗎?SubFocusMove(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPre

能判斷出是在哪一個控件按了鍵嗎?
Sub   FocusMove(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.KeyPressEventArgs)   Handles   txtAddress1.KeyPress,   txtAddress2.KeyPress,   txtAddress3.KeyPress,   txtAddress4.KeyPress
'在此判斷出是哪一個控件激發了此事伯
        End   Sub
謝了!


[解决办法]
// 把sender强执转化为button,sender就是激发次事件的控件
Button btn = (Button)sender

[解决办法]
VB2005 里有3个转换
关键字 数据类型 参数关系 运行时失败
CType 函数
任何数据类型
必须在两种数据类型之间定义扩大转换或收缩转换
引发 InvalidCastException

DirectCast
任何数据类型
一个类型必须继承自或者实现另一个类型
引发 InvalidCastException

TryCast
仅引用类型
一个类型必须继承自或者实现另一个类型
返回 Nothing (Visual Basic)。


[解决办法]
讲的都太拐弯抹角了
Sub FocusMove(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress1.KeyPress, txtAddress2.KeyPress, txtAddress3.KeyPress, txtAddress4.KeyPress

'在此判斷出是哪一個控件激發了此事伯
Select case ctype(sender, textbox).name
case txtAddress1.Name : ...
case txtAddress2.Name : ...
case txtAddress3.Name : ...
case txtAddress4.Name : ...
case else '....
End Select

End Sub

热点排行