可能かどうかはわかりませんか?必要がありますTabControlとDataGridViewコントロールの組み合わせで作業する
2つの異なるフォルダからTabControl1の2つのタブページに配置された2つの異なるDataGridviewコントロールにファイル名を表示したいとします。ここで私が試したコードです。このコードを実行すると、フォルダからTabpage1のDataGridView1にファイル名を表示できますが、tabpage2のDataGridView2では表示できません。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With DataGridView1
.Columns.Add("Column 0", "TaskName")
.AutoResizeColumns()
End With
With DataGridView2
.Columns.Add("Column 0", "TaskName")
.AutoResizeColumns()
End With
Dim rowint As Integer = 0
Dim name As String
Dim directoryInfo As New System.IO.DirectoryInfo("C:\Demo\Sample1")
Dim fileInfo = System.IO.Directory.GetFiles(directoryInfo.ToString)
For Each name In fileInfo
DataGridView1.Rows.Add()
Dim filename As String = System.IO.Path.GetFileName(name)
DataGridView1.Item(0, rowint).Value = filename
rowint = rowint + 1
Next
End Sub
Private Sub TabControl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl1.Click
If (TabControl1.SelectedTab.Name.ToString) = "TabPage2" Then
MessageBox.Show(TabControl1.SelectedTab.Name.ToString)
Dim rowint As Integer = 0
Dim name As String
Dim directoryInfo As New System.IO.DirectoryInfo("C:\Demo\Sample2")
Dim fileInfo = System.IO.Directory.GetFiles(directoryInfo.ToString)
For Each name In fileInfo
DataGridView2.Rows.Add()
Dim filename As String = System.IO.Path.GetFileName(name)
DataGridView1.Item(0, rowint).Value = filename
rowint = rowint + 1
Next
End If
End Sub
私が提案したように、コード全体をLoadイベントに移動しました。しかし、問題は、tabpage1またはtabpage2のいずれかをクリックすると、空白の行がグリッドに追加されます。これらの空の行を追加しないようにするには? – Ram
@Ramあなたのタブコントロールのクリックイベントで ".Rows.Add()"をやっているようですね。 – LarsTech
既存のグリッドを空にするアイディアを教えてください。 – Ram