掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TreeViewにCドライブの中をツリー構造で入れるには? (ID:117140)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
TreeViewに指定フォルダーの最下層を表示させるプログラムを作っているのですが、 問題が起きて困っています。 ソースは Private Treekaisou As Treeview_kaisou Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'コントロールの登録 Treekaisou = New Treeview_kaisou(Me.TreeView1) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click With FolderBrowserDialog1 .SelectedPath = "" If .ShowDialog = DialogResult.Cancel Then Exit Sub End If 'Treekaisou.RootPath(指定したフォルダーの階層を全て表示します。, _ 'セパレータ(分からない場合は"\"でいいです。)) Treekaisou.RootPath(.SelectedPath, "\") End With End Sub Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect 'TreeViewで選んだ時にパスを取得 Label1.Text = e.Node.FullPath End Sub End Class Public Class Treeview_kaisou Private treeview As treeview Public Sub New(ByVal TreeViewControl As treeview) treeview = TreeViewControl End Sub Public Sub RootPath(ByVal PATH As String, ByVal Separator As String) '重要かもしれないから、記載してください。 treeview.PathSeparator = Separator If System.IO.Directory.Exists(PATH) Then Dim root As String = PATH treeview.BeginUpdate() Try Dim temp As TreeNode = treeview.Nodes.Add(root) GetDirFileList(root, temp) treeview.CollapseAll() Finally treeview.EndUpdate() End Try Else MessageBox.Show("フォルダーではありません。", "エラー") End If End Sub Private Sub GetDirFileList(ByVal SerchFolderPath As String, ByVal InputTreeviewNode As TreeNode) Dim TeigiFolderdirInfo As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(SerchFolderPath) Dim Folderdirs() As System.IO.DirectoryInfo = TeigiFolderdirInfo.GetDirectories() Dim Folderrdir As System.IO.DirectoryInfo For Each Folderrdir In Folderdirs Dim temp As TreeNode = InputTreeviewNode.Nodes.Add(Folderrdir.Name) GetDirFileList(Folderrdir.FullName, temp) Next Dim files() As System.IO.FileInfo = TeigiFolderdirInfo.GetFiles() Dim file As System.IO.FileInfo For Each file In files InputTreeviewNode.Nodes.Add(file.Name) Next End Sub End Class のようになっていますが、 指定フォルダーをデスクトップにすると、エラーも出ずに成功するのですが、 Cドライブに指定すると、エラーが発生してしまいます。 エラー内容が、フォルダー名が書かれていて、そのフォルダー名の一部が見つかりませんでした。っという エラー内容です。 このエラーについてどのようにソースを記述すれば、回避できるか教えてください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.