I am using a combo box with 20 numbers inside (from 1 to 20) each to represent a number of a date and time text box to be visible in another pop out form.
For example if 4 is selected, then 4 date and time boxes are visible.
The problem:
Up to 9 date and time boxes are visible just fine, but from 10 to 20 I can see only one date and time box. I couldn't solve the issue and any help will be appreciated.
Here is my code:
Private Sub payno__SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles payno.SelectedIndexChanged
Dim selectedIndex As Integer
selectedIndex = payno.SelectedItem
Dim selectedItem As Object
selectedItem = payno.SelectedItem
MessageBox.Show("Selected Item Text: " & selectedItem.ToString() & Microsoft.VisualBasic.Constants.vbCrLf &
"Index: " & selectedIndex.ToString())
If payno.Text.Trim.Contains("1") = True Then
paytime.DateTimePicker1.Visible = True
paytime.DateTimePicker2.Visible = False
paytime.DateTimePicker3.Visible = False
paytime.DateTimePicker4.Visible = False
paytime.DateTimePicker5.Visible = False
paytime.DateTimePicker6.Visible = False
paytime.DateTimePicker7.Visible = False
paytime.DateTimePicker8.Visible = False
paytime.DateTimePicker9.Visible = False
paytime.DateTimePicker10.Visible = False
paytime.DateTimePicker11.Visible = False
paytime.DateTimePicker12.Visible = False
paytime.DateTimePicker13.Visible = False
paytime.DateTimePicker14.Visible = False
paytime.DateTimePicker15.Visible = False
paytime.DateTimePicker16.Visible = False
paytime.DateTimePicker17.Visible = False
paytime.DateTimePicker18.Visible = False
paytime.DateTimePicker19.Visible = False
paytime.DateTimePicker20.Visible = False
ElseIf payno.Text.Trim.Contains("2") = True Then
paytime.DateTimePicker1.Visible = True
paytime.DateTimePicker2.Visible = True
paytime.DateTimePicker3.Visible = False
paytime.DateTimePicker4.Visible = False
paytime.DateTimePicker5.Visible = False
paytime.DateTimePicker6.Visible = False
paytime.DateTimePicker7.Visible = False
paytime.DateTimePicker8.Visible = False
paytime.DateTimePicker9.Visible = False
paytime.DateTimePicker10.Visible = False
paytime.DateTimePicker11.Visible = False
paytime.DateTimePicker12.Visible = False
paytime.DateTimePicker13.Visible = False
paytime.DateTimePicker14.Visible = False
paytime.DateTimePicker15.Visible = False
paytime.DateTimePicker16.Visible = False
paytime.DateTimePicker17.Visible = False
paytime.DateTimePicker18.Visible = False
paytime.DateTimePicker19.Visible = False
paytime.DateTimePicker20.Visible = False
and so on until 20 ...
Whatever the logic you have written it is correct and it must work. But it's not best coding practice. But if you want to modify the same code. Use the condition like
If payno.Text.trim="1" then
Elseif payno.Text.trim="2" then
.......
If payno.Text.trim="10" then
Elseif payno.Text.trim ="11" then
1.But keep all the date in one panel 2. Make the panel dock to top 3. Set scroll to true to the panel
If your pop-up form's height is lesserthan the date control's top also it may not be displayed.
Hope it helps
Untested but something like this:
Dim x as Integer
While (x <= Integer.Parse(payno.Text.Trim))
Select (x)
Case 1
paytime.DateTimePicker1.Visible = True
Case 2
paytime.DateTimePicker2.Visible = True
.....
End Select
End While
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.