Correct, I'm tracking tblPosn, I copied "Dim tblPosn As Integer = ListViewTables.SelectedItems(0).Index" as another 'this seems to be important. It certainly made no sense to me. Surely "SelectedItems(0).Index" means a reset of tblPosn to = 0 or = Nothing since no items are selected?
Bob
Why are you handling ListViewTables.KeyDown? ListViewTables.SelectedIndexChanged takes care of this automatically for you. (Both selection by keyboard and the mouse)
Looks like you are trying to track tblPosn from the KeyDown event. But notice in my new ShowColumnsInListView that I've made a new tblPosn variable that is shadowing your global form level one. You can determine tblPosn using ListViewTables.SelectedItems(0).Index without needing to use KeyDown at all.
Here is the code again with KeyDown event and tblPosn commented out. Appears to function the same.
Greg
Option Strict On
Public Class Form1
Inherits System.Windows.Forms.Form
Private loading As Boolean
Private Array(2, 19, 10) As String
'Private tblPosn As Integer = 0
Private colPosn As Integer = 1
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents ListViewColumns As System.Windows.Forms.ListView
Friend WithEvents ListViewTables As System.Windows.Forms.ListView
Friend WithEvents ColumnNo As System.Windows.Forms.ColumnHeader
Friend WithEvents TableNo As System.Windows.Forms.ColumnHeader
Friend WithEvents TableName As System.Windows.Forms.ColumnHeader
Friend WithEvents TableType As System.Windows.Forms.ColumnHeader
Friend WithEvents TableCharNo As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnType As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnName As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnCharNo As System.Windows.Forms.ColumnHeader
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ListViewColumns = New System.Windows.Forms.ListView
Me.ColumnNo = New System.Windows.Forms.ColumnHeader
Me.ListViewTables = New System.Windows.Forms.ListView
Me.TableNo = New System.Windows.Forms.ColumnHeader
Me.TableName = New System.Windows.Forms.ColumnHeader
Me.TableType = New System.Windows.Forms.ColumnHeader
Me.TableCharNo = New System.Windows.Forms.ColumnHeader
Me.ColumnType = New System.Windows.Forms.ColumnHeader
Me.ColumnName = New System.Windows.Forms.ColumnHeader
Me.ColumnCharNo = New System.Windows.Forms.ColumnHeader
Me.SuspendLayout()
'
'ListViewColumns
'
Me.ListViewColumns.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnNo, Me.ColumnName, Me.ColumnType, Me.ColumnCharNo})
Me.ListViewColumns.FullRowSelect = True
Me.ListViewColumns.GridLines = True
Me.ListViewColumns.Location = New System.Drawing.Point(444, 8)
Me.ListViewColumns.MultiSelect = False
Me.ListViewColumns.Name = "ListViewColumns"
Me.ListViewColumns.Size = New System.Drawing.Size(396, 304)
Me.ListViewColumns.TabIndex = 0
Me.ListViewColumns.View = System.Windows.Forms.View.Details
'
'ColumnNo
'
Me.ColumnNo.Text = "No"
Me.ColumnNo.Width = 30
'
'ListViewTables
'
Me.ListViewTables.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.TableNo, Me.TableName, Me.TableType, Me.TableCharNo})
Me.ListViewTables.FullRowSelect = True
Me.ListViewTables.GridLines = True
Me.ListViewTables.Location = New System.Drawing.Point(16, 8)
Me.ListViewTables.MultiSelect = False
Me.ListViewTables.Name = "ListViewTables"
Me.ListViewTables.Size = New System.Drawing.Size(394, 304)
Me.ListViewTables.TabIndex = 1
Me.ListViewTables.View = System.Windows.Forms.View.Details
'
'TableNo
'
Me.TableNo.Text = "No"
Me.TableNo.Width = 30
'
'TableName
'
Me.TableName.Text = "Table"
Me.TableName.Width = 120
'
'TableType
'
Me.TableType.Text = "Type"
Me.TableType.Width = 120
'
'TableCharNo
'
Me.TableCharNo.Text = "Character No."
Me.TableCharNo.Width = 120
'
'ColumnType
'
Me.ColumnType.Text = "Type"
Me.ColumnType.Width = 120
'
'ColumnName
'
Me.ColumnName.Text = "Column"
Me.ColumnName.Width = 120
'
'ColumnCharNo
'
Me.ColumnCharNo.Text = "Character No"
Me.ColumnCharNo.Width = 120
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(856, 325)
Me.Controls.Add(Me.ListViewTables)
Me.Controls.Add(Me.ListViewColumns)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim g, h, i As Integer
OtherInitialize()
For g = 0 To 2
For h = 0 To 19
For i = 0 To 10
Array(g, h, i) = "No Entry"
Next
Next
Next
Array(0, 0, 0) = "TableA"
Array(0, 1, 0) = "TableB"
Array(0, 2, 0) = "TableC"
Array(0, 3, 0) = "TableD"
Array(0, 4, 0) = "TableE"
Array(0, 5, 0) = "TableF"
Array(0, 6, 0) = "TableG"
Array(0, 7, 0) = "TableH"
Array(0, 8, 0) = "TableI"
Array(0, 9, 0) = "TableJ"
Array(0, 0, 1) = "TableA, Column1"
Array(0, 0, 2) = "TableA, Column2"
Array(0, 0, 3) = "TableA, Column3"
Array(0, 0, 4) = "TableA, Column4"
Array(0, 1, 1) = "TableB, Column1"
Array(0, 1, 2) = "TableB, Column2"
Array(0, 1, 3) = "TableB, Column3"
Array(0, 1, 4) = "TableB, Column4"
Array(0, 1, 5) = "TableB, Column5"
Array(0, 1, 6) = "TableB, Column6"
Array(0, 3, 1) = "TableD, Column1"
Array(0, 3, 2) = "TableD, Column2"
Array(0, 3, 3) = "TableD, Column3"
Array(1, 0, 0) = "TableType = W"
Array(1, 1, 0) = "TableType = W"
Array(1, 2, 0) = "TableType = W"
Array(1, 3, 0) = "TableType = X"
Array(1, 4, 0) = "TableType = X"
Array(1, 5, 0) = "TableType = Y"
Array(1, 6, 0) = "TableType = Y"
Array(1, 7, 0) = "TableType = Y"
Array(1, 8, 0) = "TableType = Z"
Array(1, 9, 0) = "TableType = Z"
Array(1, 0, 1) = "ColumnType = AA"
Array(1, 0, 2) = "ColumnType = AA"
Array(1, 0, 3) = "ColumnType = BB"
Array(1, 0, 4) = "ColumnType = BB"
Array(1, 1, 1) = "ColumnType = AA"
Array(1, 1, 2) = "ColumnType = AA"
Array(1, 1, 3) = "ColumnType = BB"
Array(1, 1, 4) = "ColumnType = BB"
Array(1, 1, 5) = "ColumnType = CC"
Array(1, 1, 6) = "ColumnType = CC"
Array(1, 3, 1) = "ColumnType = AA"
Array(1, 3, 2) = "ColumnType = BB"
Array(1, 3, 3) = "ColumnType = CC"
Array(2, 0, 0) = "TDataLength = 25"
Array(2, 1, 0) = "TDataLength = 25"
Array(2, 2, 0) = "TDataLength = 30"
Array(2, 3, 0) = "TDataLength = 30"
Array(2, 4, 0) = "TDataLength = 256"
Array(2, 5, 0) = "TDataLength = 256"
Array(2, 6, 0) = "TDataLength = 512"
Array(2, 7, 0) = "TDataLength = 512"
Array(2, 8, 0) = "TDataLength = 1024"
Array(2, 9, 0) = "TDataLength = 1024"
Array(2, 0, 1) = "CDataLength = 25"
Array(2, 0, 2) = "CDataLength = 25"
Array(2, 0, 3) = "CDataLength = 30"
Array(2, 0, 4) = "CDataLength = 30"
Array(2, 1, 1) = "CDataLength = 25"
Array(2, 1, 2) = "CDataLength = 25"
Array(2, 1, 3) = "CDataLength = 30"
Array(2, 1, 4) = "CDataLength = 30"
Array(2, 1, 5) = "CDataLength = 256"
Array(2, 1, 6) = "CDataLength = 256"
Array(2, 3, 1) = "CDataLength = 25"
Array(2, 3, 2) = "CDataLength = 30"
Array(2, 3, 3) = "CDataLength = 256"
End Sub
Private Sub StartForm1()
loading = True
ShowTablesInListView()
ListViewTables.Items(0).Selected = True
ListViewTables.Select() ' this seems to be important
ShowColumnsInListView()
loading = False
End Sub
Private Sub ShowTablesInListView()
Dim h, i As Integer
Dim str1, str2, str3 As String
ListViewTables.BeginUpdate()
ListViewTables.Items.Clear()
For h = 0 To 19
Dim lvi As New ListViewItem
lvi.Text = h.ToString
str1 = Array(0, h, 0)
If str1 = "No Entry" Then str1 = ""
str2 = Array(1, h, 0)
If str2 = "No Entry" Then str2 = ""
str3 = Array(2, h, 0)
If str3 = "No Entry" Then str3 = ""
lvi.SubItems.Add(str1)
lvi.SubItems.Add(str2)
lvi.SubItems.Add(str3)
ListViewTables.Items.Add(lvi)
If str1 <> "" Then
If h Mod 2 = 0 Then
lvi.BackColor = Color.FloralWhite
Else
lvi.BackColor = Color.Moccasin
End If
ElseIf str1 = "" Then
lvi.BackColor = System.Drawing.SystemColors.Window
End If
Next
ListViewTables.EndUpdate()
End Sub
Private Sub ShowColumnsInListView()
Dim h, i As Integer
Dim str1, str2, str3 As String
If ListViewTables.SelectedIndices.Count = 0 Then Return
Dim tblPosn As Integer = ListViewTables.SelectedItems(0).Index
ListViewColumns.BeginUpdate()
ListViewColumns.Items.Clear()
For i = 1 To 10
Dim lvi As New ListViewItem
lvi.Text = i.ToString
str1 = Array(0, tblPosn, i)
If str1 = "No Entry" Then str1 = ""
str2 = Array(1, tblPosn, i)
If str2 = "No Entry" Then str2 = ""
str3 = Array(2, tblPosn, i)
If str3 = "No Entry" Then str3 = ""
lvi.SubItems.Add(str1)
lvi.SubItems.Add(str2)
lvi.SubItems.Add(str3)
If str1 <> "" Then
If i Mod 2 = 0 Then
lvi.BackColor = Color.FloralWhite
Else
lvi.BackColor = Color.Moccasin
End If
ElseIf str1 = "" Then
lvi.BackColor = System.Drawing.SystemColors.Window
End If
ListViewColumns.Items.Add(lvi)
Next
ListViewColumns.EndUpdate()
End Sub
Private Sub ListViewTables_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListViewTables.SelectedIndexChanged
If loading = True Then Return
ShowColumnsInListView()
End Sub
'Private Sub ListViewTables_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListViewTables.KeyDown
' If e.KeyCode = Keys.Down Then
' If tblPosn < 19 Then
' ListViewTables.Items(tblPosn).Selected = False
' tblPosn = tblPosn + 1
' ListViewTables.Items(tblPosn).Selected = True
' ShowColumnsInListView()
' End If
' ElseIf e.KeyCode = Keys.Up Then
' If tblPosn > 0 Then
' ListViewTables.Items(tblPosn).Selected = False
' tblPosn = tblPosn - 1
' ListViewTables.Items(tblPosn).Selected = True
' ShowColumnsInListView()
' End If
' End If
'End Sub
#Region " ON CLOSE FORM OR PROGRAM "
Private Sub OtherInitialize()
AddHandler Me.Closing, AddressOf Me.Form1_Cancel
End Sub
Protected Sub Form1_Cancel(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
e.Cancel = False
End Sub
Protected Overrides Sub OnVisibleChanged(ByVal e As System.EventArgs)
If Me.Visible = True Then
StartForm1()
End If
End Sub
#End Region
End Class
Greg, I do not understand exactly why but after trying to incorporate your ideas with mine the following code seems to work.
It does include a small array sample. I hope that this code will be more understandable. Appologies for that.
Bob
PS I love your colour co-ordinated page here. If you ever get a spare month you can tell this dim wit how you do that !
Option Strict On
Public Class Form1
Inherits System.Windows.Forms.Form
Private loading As Boolean
Private Array(2, 19, 10) As String
Private tblPosn As Integer = 0
Private colPosn As Integer = 1
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents ListViewColumns As System.Windows.Forms.ListView
Friend WithEvents ListViewTables As System.Windows.Forms.ListView
Friend WithEvents ColumnNo As System.Windows.Forms.ColumnHeader
Friend WithEvents TableNo As System.Windows.Forms.ColumnHeader
Friend WithEvents TableName As System.Windows.Forms.ColumnHeader
Friend WithEvents TableType As System.Windows.Forms.ColumnHeader
Friend WithEvents TableCharNo As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnType As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnName As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnCharNo As System.Windows.Forms.ColumnHeader
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ListViewColumns = New System.Windows.Forms.ListView
Me.ColumnNo = New System.Windows.Forms.ColumnHeader
Me.ListViewTables = New System.Windows.Forms.ListView
Me.TableNo = New System.Windows.Forms.ColumnHeader
Me.TableName = New System.Windows.Forms.ColumnHeader
Me.TableType = New System.Windows.Forms.ColumnHeader
Me.TableCharNo = New System.Windows.Forms.ColumnHeader
Me.ColumnType = New System.Windows.Forms.ColumnHeader
Me.ColumnName = New System.Windows.Forms.ColumnHeader
Me.ColumnCharNo = New System.Windows.Forms.ColumnHeader
Me.SuspendLayout()
'
'ListViewColumns
'
Me.ListViewColumns.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnNo, Me.ColumnName, Me.ColumnType, Me.ColumnCharNo})
Me.ListViewColumns.FullRowSelect = True
Me.ListViewColumns.GridLines = True
Me.ListViewColumns.Location = New System.Drawing.Point(444, 8)
Me.ListViewColumns.MultiSelect = False
Me.ListViewColumns.Name = "ListViewColumns"
Me.ListViewColumns.Size = New System.Drawing.Size(396, 304)
Me.ListViewColumns.TabIndex = 0
Me.ListViewColumns.View = System.Windows.Forms.View.Details
'
'ColumnNo
'
Me.ColumnNo.Text = "No"
Me.ColumnNo.Width = 30
'
'ListViewTables
'
Me.ListViewTables.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.TableNo, Me.TableName, Me.TableType, Me.TableCharNo})
Me.ListViewTables.FullRowSelect = True
Me.ListViewTables.GridLines = True
Me.ListViewTables.Location = New System.Drawing.Point(16, 8)
Me.ListViewTables.MultiSelect = False
Me.ListViewTables.Name = "ListViewTables"
Me.ListViewTables.Size = New System.Drawing.Size(394, 304)
Me.ListViewTables.TabIndex = 1
Me.ListViewTables.View = System.Windows.Forms.View.Details
'
'TableNo
'
Me.TableNo.Text = "No"
Me.TableNo.Width = 30
'
'TableName
'
Me.TableName.Text = "Table"
Me.TableName.Width = 120
'
'TableType
'
Me.TableType.Text = "Type"
Me.TableType.Width = 120
'
'TableCharNo
'
Me.TableCharNo.Text = "Character No."
Me.TableCharNo.Width = 120
'
'ColumnType
'
Me.ColumnType.Text = "Type"
Me.ColumnType.Width = 120
'
'ColumnName
'
Me.ColumnName.Text = "Column"
Me.ColumnName.Width = 120
'
'ColumnCharNo
'
Me.ColumnCharNo.Text = "Character No"
Me.ColumnCharNo.Width = 120
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(856, 325)
Me.Controls.Add(Me.ListViewTables)
Me.Controls.Add(Me.ListViewColumns)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim g, h, i As Integer
OtherInitialize()
For g = 0 To 2
For h = 0 To 19
For i = 0 To 10
Array(g, h, i) = "No Entry"
Next
Next
Next
Array(0, 0, 0) = "TableA"
Array(0, 1, 0) = "TableB"
Array(0, 2, 0) = "TableC"
Array(0, 3, 0) = "TableD"
Array(0, 4, 0) = "TableE"
Array(0, 5, 0) = "TableF"
Array(0, 6, 0) = "TableG"
Array(0, 7, 0) = "TableH"
Array(0, 8, 0) = "TableI"
Array(0, 9, 0) = "TableJ"
Array(0, 0, 1) = "TableA, Column1"
Array(0, 0, 2) = "TableA, Column2"
Array(0, 0, 3) = "TableA, Column3"
Array(0, 0, 4) = "TableA, Column4"
Array(0, 1, 1) = "TableB, Column1"
Array(0, 1, 2) = "TableB, Column2"
Array(0, 1, 3) = "TableB, Column3"
Array(0, 1, 4) = "TableB, Column4"
Array(0, 1, 5) = "TableB, Column5"
Array(0, 1, 6) = "TableB, Column6"
Array(0, 3, 1) = "TableD, Column1"
Array(0, 3, 2) = "TableD, Column2"
Array(0, 3, 3) = "TableD, Column3"
Array(1, 0, 0) = "TableType = W"
Array(1, 1, 0) = "TableType = W"
Array(1, 2, 0) = "TableType = W"
Array(1, 3, 0) = "TableType = X"
Array(1, 4, 0) = "TableType = X"
Array(1, 5, 0) = "TableType = Y"
Array(1, 6, 0) = "TableType = Y"
Array(1, 7, 0) = "TableType = Y"
Array(1, 8, 0) = "TableType = Z"
Array(1, 9, 0) = "TableType = Z"
Array(1, 0, 1) = "ColumnType = AA"
Array(1, 0, 2) = "ColumnType = AA"
Array(1, 0, 3) = "ColumnType = BB"
Array(1, 0, 4) = "ColumnType = BB"
Array(1, 1, 1) = "ColumnType = AA"
Array(1, 1, 2) = "ColumnType = AA"
Array(1, 1, 3) = "ColumnType = BB"
Array(1, 1, 4) = "ColumnType = BB"
Array(1, 1, 5) = "ColumnType = CC"
Array(1, 1, 6) = "ColumnType = CC"
Array(1, 3, 1) = "ColumnType = AA"
Array(1, 3, 2) = "ColumnType = BB"
Array(1, 3, 3) = "ColumnType = CC"
Array(2, 0, 0) = "TDataLength = 25"
Array(2, 1, 0) = "TDataLength = 25"
Array(2, 2, 0) = "TDataLength = 30"
Array(2, 3, 0) = "TDataLength = 30"
Array(2, 4, 0) = "TDataLength = 256"
Array(2, 5, 0) = "TDataLength = 256"
Array(2, 6, 0) = "TDataLength = 512"
Array(2, 7, 0) = "TDataLength = 512"
Array(2, 8, 0) = "TDataLength = 1024"
Array(2, 9, 0) = "TDataLength = 1024"
Array(2, 0, 1) = "CDataLength = 25"
Array(2, 0, 2) = "CDataLength = 25"
Array(2, 0, 3) = "CDataLength = 30"
Array(2, 0, 4) = "CDataLength = 30"
Array(2, 1, 1) = "CDataLength = 25"
Array(2, 1, 2) = "CDataLength = 25"
Array(2, 1, 3) = "CDataLength = 30"
Array(2, 1, 4) = "CDataLength = 30"
Array(2, 1, 5) = "CDataLength = 256"
Array(2, 1, 6) = "CDataLength = 256"
Array(2, 3, 1) = "CDataLength = 25"
Array(2, 3, 2) = "CDataLength = 30"
Array(2, 3, 3) = "CDataLength = 256"
End Sub
Private Sub StartForm1()
loading = True
ShowTablesInListView()
ListViewTables.Items(0).Selected = True
ListViewTables.Select() ' this seems to be important
ShowColumnsInListView()
loading = False
End Sub
Private Sub ShowTablesInListView()
Dim h, i As Integer
Dim str1, str2, str3 As String
ListViewTables.BeginUpdate()
ListViewTables.Items.Clear()
For h = 0 To 19
Dim lvi As New ListViewItem
lvi.Text = h.ToString
str1 = Array(0, h, 0)
If str1 = "No Entry" Then str1 = ""
str2 = Array(1, h, 0)
If str2 = "No Entry" Then str2 = ""
str3 = Array(2, h, 0)
If str3 = "No Entry" Then str3 = ""
lvi.SubItems.Add(str1)
lvi.SubItems.Add(str2)
lvi.SubItems.Add(str3)
ListViewTables.Items.Add(lvi)
If str1 <> "" Then
If h Mod 2 = 0 Then
lvi.BackColor = Color.FloralWhite
Else
lvi.BackColor = Color.Moccasin
End If
ElseIf str1 = "" Then
lvi.BackColor = System.Drawing.SystemColors.Window
End If
Next
ListViewTables.EndUpdate()
End Sub
Private Sub ShowColumnsInListView()
Dim h, i As Integer
Dim str1, str2, str3 As String
If ListViewTables.SelectedIndices.Count = 0 Then Return
Dim tblPosn As Integer = ListViewTables.SelectedItems(0).Index
ListViewColumns.BeginUpdate()
ListViewColumns.Items.Clear()
For i = 1 To 10
Dim lvi As New ListViewItem
lvi.Text = i.ToString
str1 = Array(0, tblPosn, i)
If str1 = "No Entry" Then str1 = ""
str2 = Array(1, tblPosn, i)
If str2 = "No Entry" Then str2 = ""
str3 = Array(2, tblPosn, i)
If str3 = "No Entry" Then str3 = ""
lvi.SubItems.Add(str1)
lvi.SubItems.Add(str2)
lvi.SubItems.Add(str3)
If str1 <> "" Then
If i Mod 2 = 0 Then
lvi.BackColor = Color.FloralWhite
Else
lvi.BackColor = Color.Moccasin
End If
ElseIf str1 = "" Then
lvi.BackColor = System.Drawing.SystemColors.Window
End If
ListViewColumns.Items.Add(lvi)
Next
ListViewColumns.EndUpdate()
End Sub
Private Sub ListViewTables_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListViewTables.SelectedIndexChanged
If loading = True Then Return
ShowColumnsInListView()
End Sub
Private Sub ListViewTables_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListViewTables.KeyDown
If e.KeyCode = Keys.Down Then
If tblPosn < 19 Then
ListViewTables.Items(tblPosn).Selected = False
tblPosn = tblPosn + 1
ListViewTables.Items(tblPosn).Selected = True
ShowColumnsInListView()
End If
ElseIf e.KeyCode = Keys.Up Then
If tblPosn > 0 Then
ListViewTables.Items(tblPosn).Selected = False
tblPosn = tblPosn - 1
ListViewTables.Items(tblPosn).Selected = True
ShowColumnsInListView()
End If
End If
End Sub
#Region " ON CLOSE FORM OR PROGRAM "
Private Sub OtherInitialize()
AddHandler Me.Closing, AddressOf Me.Form1_Cancel
End Sub
Protected Sub Form1_Cancel(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
e.Cancel = False
End Sub
Protected Overrides Sub OnVisibleChanged(ByVal e As System.EventArgs)
If Me.Visible = True Then
StartForm1()
End If
End Sub
#End Region
End Class