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

请问窗体中文本框的焦点转移有关问题

2012-02-23 
请教窗体中文本框的焦点转移问题一个窗体,里面有18个文本框,想实现以下功能:1、当焦点在某一个文本框时,其

请教窗体中文本框的焦点转移问题
一个窗体,里面有18个文本框,想实现以下功能:
1、当焦点在某一个文本框时,其背景变蓝色,丢失焦点后又变白色。
2、当在一个文本框输入完数据后,按回车自动移到下一个文本框。
-------------------------------------------
编程环境是VS2005,用的语言是VB
-------------------------------------------
第一个问题我原来是想用控件数组,我记得在VB6里是有,但是在VS2005里没有,后面又尝试了用“获取当前窗体的焦点”的办法,但是,窗体没有控件焦点转移的事件,又想编一个自定义控件,但是不会。:)
第二个问题我看了一些贴子,但是sendkeys命令在VS里面提示它是一个类型,不是表达示。
-------------------------------------------
期望各位DX相助,谢!

[解决办法]
Public Sub TextBoxEnterEventHandler(ByVal sender As System.Object, ByVal e As System.EventArgs)
DirectCast(sender, TextBox).BackColor = Color.Blue
End Sub

Public Sub TextBoxLeaveEventHandler(ByVal sender As System.Object, ByVal e As System.EventArgs)
DirectCast(sender, TextBox).BackColor = Color.White
End Sub

Public Sub TextBoxKeyDownEventHandler(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.Enter Then
SendKeys.Send( "{TAB} ")
End If
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For index As Integer = 1 To 18
AddHandler DirectCast(Me.Controls( "TextBox " & index.ToString.Trim), TextBox).Enter, AddressOf TextBoxEnterEventHandler
AddHandler DirectCast(Me.Controls( "TextBox " & index.ToString.Trim), TextBox).Leave, AddressOf TextBoxLeaveEventHandler
AddHandler DirectCast(Me.Controls( "TextBox " & index.ToString.Trim), TextBox).KeyDown, AddressOf TextBoxKeyDownEventHandler
Next
End Sub

热点排行