VB.NET中组合框的文件夹名称

时间:2013-04-01 09:15:11

标签: vb.net combobox directory

我希望我的组合框通过检查目录中的所有目录名来填充运行时。

这是我的代码:

    Private Sub EDITFORM_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Call CLEAR()
    End Sub

Private Sub CLEAR()
        qtytb.Enabled = False
        parttb.Clear()
        qtytb.Clear()
        DTCB.Items.Clear()
        MTHCB.SelectedIndex = ""
        YRCB.SelectedIndex = ""
        RadioButton2.Checked = True
        RadioButton1.Checked = True
        TextBox1.Clear()
        TextBox2.Clear()
   >>     Dim di As New DirectoryInfo("D:\DATABASE\" & Pick_Item.deptlbl.Text)
       If di.Exists = True Then
            For Each subDirectory As DirectoryInfo In di.GetDirectories()
                YRCB.Items.Add(CInt(subDirectory.Name.ToString))
            Next
        End If<<

    End Sub

这是我对组合框和加载表单的完整代码 但是当我调试时,它只是出现一个错误的消息框,所以我不知道我的错误在代码中的确切位置

"Conversion from "" string to integer is not valid"

This is the picture of my directory 有点像这样。那么,我怎样才能将文件夹名称添加到我的组合框中?我的目录名称正在使用整数(原因名称是按年份),如果我按名称添加目录(非整数),它可以。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

你的问题在TOP行

Dim folders() As String = IO.Directory.GetDirectories("D:\DATABASE\")
  For Each folder As String In folders
    Combobox1.Items.Add(folder)
  Next

更新

子程序/事件中是否存在其他代码,但上面没有包含这些代码?我尝试过它,即使文件夹名称是数字

也能正常工作

enter image description here

我认为问题出在这些方面

MTHCB.SelectedIndex = ""
YRCB.SelectedIndex = ""

将其更改为

MTHCB.SelectedIndex = -1
YRCB.SelectedIndex = -1