2016-04-03 53 views
-2

我正在使用内部有20个数字(从1到20)的组合框,以表示一个日期和时间文本框的数量,以便在另一个弹出窗体中可见。vb中的组合框

例如,如果选择了4,则可以看到4个日期和时间框。

问题:

截至9日期和时间框是可见的就好了,但是从10到20,我可以看到只有一个日期和时间框。我无法解决这个问题,任何帮助将不胜感激。

这里是我的代码:

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 ... 
+0

由于10包含1和0,则否则,如果永远不会得到10 –

+0

感谢了很多,但您是如何建议解决这个问题 – Moe

+0

如果选择4(如你的例子)然后通过4个盒子的图灵循环。设置循环1号的选择,做一个选择案例语句,其中循环整数当前值打开一个日期选择器... –

回答

1

不管你写它的逻辑是正确的,它必须工作。但这不是最好的编码实践。但是如果你想修改相同的代码。使用条件等

如果payno.Text.trim = “1” 然后

ELSEIF payno.Text.trim = “2” 然后

.......

如果payno.Text.trim = “10” 然后

ELSEIF payno.Text.trim = “11” 然后

1.But保持所有的时间在一个面板 2.使面板基座顶部 3.将滚动设置为真

如果弹出窗体的高度为日期控件的顶部,也可能不显示。

希望它可以帮助

+0

非常感谢现在尝试 – Moe

+0

它做的工作非常感谢你 – Moe

0

未经测试,但这样的事情:

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