16,554
社区成员
发帖
与我相关
我的任务
分享
Public Class Form1
Private lstView As ListView
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
lstView = New ListView With {.View = View.Details, .Dock = DockStyle.Fill, .HideSelection = False, .FullRowSelect = True}
AddHandler lstView.DoubleClick, AddressOf lstView_DoubleClick
lstView.Columns.Add("ID")
lstView.Columns.Add("Info")
For i As Integer = 0 To 50
Dim item As ListViewItem = lstView.Items.Add(i.ToString)
item.SubItems.Add("Details:" + Now.Ticks.ToString)
Threading.Thread.Sleep(20)
Next
Me.Controls.Add(lstView)
End Sub
Private Sub lstView_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
Dim frm As New frmDetail(lstView)
frm.ShowDialog()
End Sub
End Class
Public Class frmDetail
Inherits System.Windows.Forms.Form
Private btnUp As New Button
Private btnDown As New Button
Private txtBox As New TextBox
Private mListView As ListView
Public Sub New(ByRef lstView As ListView)
Call init()
mListView = lstView
If mListView.SelectedItems.Count > 0 Then
txtBox.Text = mListView.SelectedItems(0).SubItems(1).Text
End If
End Sub
Private Sub init()
btnUp = New Button With {.Text = "上一条", .Location = New Point(10, 5)}
btnDown = New Button With {.Text = "下一条", .Location = New Point(100, 5)}
txtBox = New TextBox With {.Multiline = True, .ScrollBars = ScrollBars.Vertical, .Location = New Point(10, 40), .Size = New Size(200, 100)}
AddHandler btnUp.Click, AddressOf Up
AddHandler btnDown.Click, AddressOf Down
Me.Controls.Add(btnUp)
Me.Controls.Add(btnDown)
Me.Controls.Add(txtBox)
End Sub
Private Sub Up(ByVal sender As Object, ByVal e As EventArgs)
Dim index As Integer = mListView.SelectedItems(0).Index
If index > 0 Then
index -= 1
mListView.SelectedItems.Clear()
mListView.Items(index).Selected = True
mListView.EnsureVisible(index)
txtBox.Text = mListView.SelectedItems(0).SubItems(1).Text
End If
End Sub
Private Sub Down(ByVal sender As Object, ByVal e As EventArgs)
Dim index As Integer = mListView.SelectedItems(0).Index
If index < mListView.Items.Count - 1 Then
index += 1
mListView.SelectedItems.Clear()
mListView.Items(index).Selected = True
mListView.EnsureVisible(index)
txtBox.Text = mListView.SelectedItems(0).SubItems(1).Text
End If
End Sub
End Class