Lid |
|
Hallo Allemaal.
Ik zit met een klein probleempje.
Ik ben een WM 6 formulier in VB 2010 aan het maken met 4 textboxes, 1 combobox, 2 Datetimepickers en een timer.
Om mijn WM 6 formulier goed te laten werken wil ik dat mijn textboxes, combobox en datetimepickers goed op elkaar zijn afgestemd.
Wat ik wil is dat je door heel het WM 6 formulier kunt fietsen met de up/down/right of left toetsen.
Dit gebeurd ook al voor een groot deel.
Ik kan ook gewoon met de enter toets de combobox openen.
Daarna kan ik ook gewoon in de combobox met de up/down en enter toets een land selecteren en in de datetimepicker1 een datum.
Precies zoals ik het wil.
Maar dan!
Wanneer ik in de combobox een land heb geselecteerd zou ik de combobox eigenlijk gewoon weer willen verlaten om met de up/down toets verder te gaan door het formulier. (Net als in de Agenda van WM 6)
Wat er nu gebeurd is dat ik na de selectie in de combobox blijf hangen.
Ik kan niet verder navigeren naar vorige of volgende boxen
Wat ik natuurlijk wel wil. (En wel met behulp van de up/down/right of left toetsen).
Dit zijn mijn codes!
Class code:
Public Class Dropoff_Form
Dim tickTime As DateTime
Public vlag As Boolean = True
Public Class Dropoff_Form Dim tickTime As DateTime Public vlag As Boolean = True
GlobalTimer code:
Private Sub Global_Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
DateLabel.Text = "" + DateString
TimeLabel.Text = "" + TimeString
End Sub
Private Sub Global_Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) DateLabel.Text = "" + DateString TimeLabel.Text = "" + TimeString End Sub
Form code:
Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim form7 As New Form
Dim Name As String
Name = ""
DoN_tBox1.Text = Name
Dim AdressAndNo As String
AdressAndNo = ""
DoAnr_tBox1.Text = AdressAndNo
Dim ZipCode As String
ZipCode = ""
DoZip_tBox1.Text = ZipCode
Dim Place As String
Place = ""
DoPl_tBox1.Text = Place
Dim Country As System.Object
Country = "Item"
Me.DoC_cBox1.Items.AddRange(New String() {"Other Country"})
Dim vandaag As Date = Now
DoD_Picker1.Text = vandaag.ToShortDateString
DoT_Picker1.Text = vandaag.ToLongTimeString
End Sub
Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim form7 As New Form Dim Name As String Name = "" DoN_tBox1.Text = Name Dim AdressAndNo As String AdressAndNo = "" DoAnr_tBox1.Text = AdressAndNo Dim ZipCode As String ZipCode = "" DoZip_tBox1.Text = ZipCode Dim Place As String Place = "" DoPl_tBox1.Text = Place Dim Country As System.Object Country = "Item" Me.DoC_cBox1.Items.AddRange(New String() {"Other Country"}) Dim vandaag As Date = Now DoD_Picker1.Text = vandaag.ToShortDateString DoT_Picker1.Text = vandaag.ToLongTimeString End Sub
TextBoxes code:
Private Sub DoN_tBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DoN_tBox1.KeyDown
If e.KeyCode = Keys.Up Then SendKeys.Send("+{TAB}")
If e.KeyCode = Keys.Down Then SendKeys.Send("{TAB}")
End if
End Sub
Private Sub DoN_tBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DoN_tBox1.KeyDown If e.KeyCode = Keys.Up Then SendKeys.Send("+{TAB}") If e.KeyCode = Keys.Down Then SendKeys.Send("{TAB}") End if End Sub
ComboBox code:
Private Sub DoC_cBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DoC_cBox1.KeyPress
If e.KeyChar = Chr(13) And vlag = True Then
SendKeys.Send("{F4}")
vlag = False
Exit Sub
End If
If e.KeyChar = Chr(13) And vlag = False Then
SendKeys.Send("{ESC}")
vlag = True
Exit Sub
End If
End Sub
Private Sub DoC_cBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DoC_cBox1.KeyPress If e.KeyChar = Chr(13) And vlag = True Then SendKeys.Send("{F4}") vlag = False Exit Sub End If If e.KeyChar = Chr(13) And vlag = False Then SendKeys.Send("{ESC}") vlag = True Exit Sub End If End Sub
Hier gaat het fout.
Eenmaal in de combobox kom ik er na het selecteren van een land niet meer uit.
Eigenlijk zou ik na het selecteren weer gewoon met de up/down toets door het formulier moeten kunnen navigeren.
Dit geld ook voor de Datetimepicker1 en Datetimepicker2.
Datetimepickers1 (datum)code:
If e.KeyCode = Keys.Up Then SendKeys.Send("+{TAB}")
If e.KeyCode = Keys.Down Then SendKeys.Send("{TAB}")
End Sub
If e.KeyCode = Keys.Up Then SendKeys.Send("+{TAB}") If e.KeyCode = Keys.Down Then SendKeys.Send("{TAB}") End Sub
De up/down code staat in de Sub maar er gebeurd niets.
Datetimepickers2 (tijd)code:
Private Sub DoT_Picker1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DoT_Picker1.KeyDown
If e.KeyCode = Keys.Up Then SendKeys.Send("+{TAB}")
If e.KeyCode = Keys.Down Then SendKeys.Send("{TAB}")
Private Sub DoT_Picker1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DoT_Picker1.KeyDown If e.KeyCode = Keys.Up Then SendKeys.Send("+{TAB}") If e.KeyCode = Keys.Down Then SendKeys.Send("{TAB}")
Hier gebeurd er na de selectie van de tijd nog iets.
Wanneer ik bv 08:00:00 in toets en op de up/down toets druk, verspringen de laatste 2 nullen naar 59 (dus 08:00:59)
Wie kan mij helpen?!!!
Mvg. Roadrocker66
|