Option Explicit On Option Strict On Public Class Form1 'インスタンス生成 Dim ToolStrip1 As New ToolStrip Dim ToolStripButton1 As New ToolStripButton Dim Label1 As New Label Dim Label2 As New Label Dim Label3 As New Label Dim Label4 As New Label Dim DataGridView1 As New DataGridView Dim ListView1 As New ListView Dim ListBox1 As New ListBox Dim TextBox1 As New TextBox Dim FolderBrowserDialog1 As New FolderBrowserDialog Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim fw As Integer = 800 'Formの幅 Dim fh As Integer = 600 'Formの高さ Dim cw As Integer = 350 'コントロールの幅 Dim ch As Integer = 250 'コントロールの高さ '画像と文字列を表示する ToolStripButton1.DisplayStyle = ToolStripItemDisplayStyle.Text '表示する文字列の設定 ToolStripButton1.Text = "[Folder選択]" 'クリックされた時のイベントハンドラ AddHandler ToolStripButton1.Click, AddressOf ToolStripButton1_Click 'toolStrip1にアイテムを追加 ToolStrip1.Items.Add(ToolStripButton1) 'ToolStrip配置 Me.Controls.Add(ToolStrip1) 'フォーム寸法 Me.ClientSize = New Size(fw, fh + ToolStrip1.Height) 'Label表示 Label1.Location = New Point(20, ToolStrip1.Height + 5) Label2.Location = New Point(20, CInt(fh / 2) + ToolStrip1.Height + 5) Label3.Location = New Point(CInt(fw / 2) + 20, ToolStrip1.Height + 5) Label4.Location = New Point(CInt(fw / 2) + 20, CInt(fh / 2) + ToolStrip1.Height + 5) Label1.Text = "DataGridView" Label2.Text = "ListView" Label3.Text = "ListBox" Label4.Text = "TextBox" Me.Controls.Add(Label1) Me.Controls.Add(Label2) Me.Controls.Add(Label3) Me.Controls.Add(Label4) 'DataGridView表示 DataGridView1.Location = New Point(20, ToolStrip1.Height + Label1.Height + 5) DataGridView1.Size = New Size(cw, ch) Me.Controls.Add(DataGridView1) 'ListView表示 ListView1.Location = New Point(20, CInt(fh / 2) + ToolStrip1.Height + Label1.Height + 5) ListView1.Size = New Size(cw, ch) Me.Controls.Add(ListView1) 'ListBox表示 ListBox1.Location = New Point(CInt(fw / 2) + 20, ToolStrip1.Height + Label1.Height + 5) ListBox1.Size = New Size(cw, ch) Me.Controls.Add(ListBox1) 'TextBox表示 TextBox1.Multiline = True TextBox1.Location = New Point(CInt(fw / 2) + 20, CInt(fh / 2) + ToolStrip1.Height + Label1.Height + 5) TextBox1.Size = New Size(cw, ch) Me.Controls.Add(TextBox1) End Sub Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim dir As String = "" Dim dirinfo As System.IO.DirectoryInfo Dim finfolist() As System.IO.FileInfo Dim finfo As System.IO.FileInfo Dim i As Integer Dim dat As String '選択したフォルダのファイル情報をコントロールに書き込む(ファイルのみ.フォルダは書き込めない) If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then dir = FolderBrowserDialog1.SelectedPath() dirinfo = New System.IO.DirectoryInfo(dir) finfolist = dirinfo.GetFiles() 'データグリッドビューへの書き込み DataGridView1.Rows.Clear() DataGridView1.ColumnCount = 3 DataGridView1.Columns(0).Width = 80 DataGridView1.Columns(0).HeaderText = "ファイル名" DataGridView1.Columns(1).Width = 60 DataGridView1.Columns(1).HeaderText = "サイズ" DataGridView1.Columns(2).Width = 120 DataGridView1.Columns(2).HeaderText = "更新日" For Each finfo In finfolist i = DataGridView1.Rows.Add() DataGridView1(0, i).Value = finfo.Name DataGridView1(1, i).Value = finfo.Length.ToString() DataGridView1(2, i).Value = finfo.LastWriteTime.ToString() Next 'リストビューへの書き込み ListView1.GridLines = True ListView1.Clear() ListView1.View = View.Details ListView1.Columns.Add("ファイル名", 80) ListView1.Columns.Add("サイズ", 60) ListView1.Columns.Add("更新日", 120) i = 0 For Each finfo In finfolist Dim fiitem As ListViewItem = New ListViewItem(finfo.Name) fiitem.SubItems.Add(finfo.Length.ToString()) fiitem.SubItems.Add(finfo.LastWriteTime.ToString()) ListView1.Items.Add(fiitem) Next 'リストボックスへの書き込み ListBox1.Items.Clear() ListBox1.HorizontalScrollbar = True For Each finfo In finfolist dat = finfo.Name dat = dat & " " & finfo.Length.ToString() dat = dat & " " & finfo.LastWriteTime.ToString() ListBox1.Items.Add(dat) Next 'テキストボックスへの書き込み TextBox1.WordWrap = False TextBox1.ScrollBars = ScrollBars.Both TextBox1.Clear() For Each finfo In finfolist dat = finfo.Name dat = dat & " " & finfo.Length.ToString() dat = dat & " " & finfo.LastWriteTime.ToString() TextBox1.AppendText(dat & ControlChars.CrLf) Next End Sub End Class