首页 > 解决方案 > 计算目录中的文件不起作用

问题描述

我正在尝试计算目录中的文件数,并隐藏与按钮总数相对应的按钮数,从而带走目录中的文件数。目前,代码似乎没有越过它创建目录的行,没有错误,但文本没有更新,按钮也没有隐藏。

Option Explicit On
Imports System.IO
Imports System.Net.Sockets
Public Class Form2
    Dim username As String
    Dim FriendsArray() As String
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i As Integer
        i = 0
        Form1.Hide()
        username = File.ReadAllText("C:\Program Files\PolarisChatUser\TempUser\UserID.txt")
        Directory.CreateDirectory("C:\Program Files\PolarisChatUser\" + username + "\Friends")
        For Each foundFile As String In My.Computer.FileSystem.GetFiles("C:\Program Files\PolarisChatUser\" + username + "\Friends")
            FriendsArray(i) = foundFile
            i = i + 1
        Next
        btnF1.Text = FriendsArray.Length
        If FriendsArray.Length = 0 Then
            btnF1.Hide()
        End If
    End Sub
End Class

更新代码

Option Explicit On
Imports System.IO
Imports System.Net.Sockets
Public Class Form2
    Dim username As String
    Dim FriendsArray As List(Of String)
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i As Integer
        i = 0
        Form1.Hide()
        username = File.ReadAllText("C:\Program Files\PolarisChatUser\TempUser\UserID.txt")
        Directory.CreateDirectory("C:\Program Files\PolarisChatUser\" + username + "\Friends")
        For Each foundFile As String In My.Computer.FileSystem.GetFiles("C:\Program Files\PolarisChatUser\" + username + "\Friends")
            FriendsArray.Add(foundFile)
            i = i + 1
        Next

        btnF1.Text = FriendsArray.Count
        If FriendsArray.Count = 1 Then
            btnF1.Hide()
        End If
    End Sub
End Class

标签: vb.net

解决方案


Directory.GetFiles返回目录中的文件名数组。只需获取数组的.Countor.Length属性。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim TheFiles = Directory.GetFiles("C:\Users\maryo\Desktop")
    Dim NumberOfFilesInDirectory As Integer = TheFiles.Count
    Debug.Print(NumberOfFilesInDirectory.ToString)
End Sub

推荐阅读