0
我遇到了這種情況下的問題(請參閱標題)。我在一個大面板中有6個子面板。我做了一個從主文本框繼承的TextBox類。我正在嘗試使用KeyPressed事件處理程序來處理Enter鍵。當用戶按下輸入鍵時,它將從子面板內的一個文本框移動到下一個子面板。到目前爲止,我已經獲得了輸入關鍵事件處理程序,可以用於重點不在跳到下一個面板的面板。TextBox Enter Key - 主面板中的子面板
下面是我用來控制動作的子程序。 問題是我無法從一個子面板跳到另一個面板。任何幫助,將不勝感激!
Protected Shared Sub NextControl(ByVal tControl As Control, ByVal Direction As Boolean)
Dim pControl As Control = tControl.TopLevelControl
tControl = pControl.GetNextControl(tControl, Direction)
If Direction = False Then
Dim tParent As Control
While TypeOf tControl Is UserControl
tParent = tControl.Parent
tControl = pControl.GetNextControl(tControl, Direction)
If tControl.Parent Is tParent Then
Exit While
End If
End While
End If
If tBox_P00.ControlNesting > 0 Then
'Dim i As Integer
pControl = tControl.Parent
For i As Integer = 0 To tBox_P00.ControlNesting - 2
pControl = pControl.Parent
Next
End If
If Not tControl Is Nothing Then
Do Until (tControl.TabStop = True) AndAlso (tControl.Enabled = True) AndAlso (tControl.Visible = True) AndAlso (TypeOf tControl Is Tbx00)
tControl = pControl.GetNextControl(tControl, Direction)
'Last in the Panel
If tControl Is Nothing Then
tBox_P00.Select(0, tBox_P00.TextLength)
Beep()
Exit Sub
End If
Loop
tControl.Focus()
Else
tBox_P00.Select(0, tBox_P00.TextLength)
Beep()
End If
Exit Sub
End Sub
我沒有看到問題。究竟出了什麼問題? – 2012-07-30 18:13:03
該代碼中循環的意圖很不明確。只需調用GetNextControl()一次,不要做任何事情。 – 2012-07-30 18:22:26
子面板內至少有10個其他文本框。該循環將過濾掉未輸入的輸入。所以循環實際上看起來並試圖找到下一個輸入框。 – jsit208 2012-07-30 18:33:16