📄 mainwnd.vb
字号:
Public Class frmMain
Inherits System.Windows.Forms.Form
#Region " Windows 窗体设计器生成的代码 "
Public Sub New()
MyBase.New()
'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
'在 InitializeComponent() 调用之后添加任何初始化
End Sub
'窗体重写处置以清理组件列表。
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
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意:以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改此过程。
'不要使用代码编辑器修改它。
Public WithEvents MainMenu1 As System.Windows.Forms.MainMenu
Public WithEvents DB As System.Windows.Forms.MenuItem
Public WithEvents OpenDB As System.Windows.Forms.MenuItem
Public WithEvents ExitProg As System.Windows.Forms.MenuItem
Public WithEvents DataEdit As System.Windows.Forms.MenuItem
Public WithEvents AddField As System.Windows.Forms.MenuItem
Public WithEvents AddIndex As System.Windows.Forms.MenuItem
Friend WithEvents TreeView1 As System.Windows.Forms.TreeView
Friend WithEvents Splitter1 As System.Windows.Forms.Splitter
Friend WithEvents ListView1 As System.Windows.Forms.ListView
Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog
Friend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenu
Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.MainMenu1 = New System.Windows.Forms.MainMenu()
Me.DB = New System.Windows.Forms.MenuItem()
Me.OpenDB = New System.Windows.Forms.MenuItem()
Me.ExitProg = New System.Windows.Forms.MenuItem()
Me.DataEdit = New System.Windows.Forms.MenuItem()
Me.AddField = New System.Windows.Forms.MenuItem()
Me.AddIndex = New System.Windows.Forms.MenuItem()
Me.TreeView1 = New System.Windows.Forms.TreeView()
Me.Splitter1 = New System.Windows.Forms.Splitter()
Me.ListView1 = New System.Windows.Forms.ListView()
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
Me.ContextMenu1 = New System.Windows.Forms.ContextMenu()
Me.MenuItem1 = New System.Windows.Forms.MenuItem()
Me.MenuItem2 = New System.Windows.Forms.MenuItem()
Me.MenuItem3 = New System.Windows.Forms.MenuItem()
Me.SuspendLayout()
'
'MainMenu1
'
Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.DB, Me.DataEdit})
'
'DB
'
Me.DB.Index = 0
Me.DB.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.OpenDB, Me.ExitProg})
Me.DB.MergeType = System.Windows.Forms.MenuMerge.Remove
Me.DB.Text = "文件"
'
'OpenDB
'
Me.OpenDB.Index = 0
Me.OpenDB.MergeType = System.Windows.Forms.MenuMerge.Remove
Me.OpenDB.Text = "打开数据库"
'
'ExitProg
'
Me.ExitProg.Index = 1
Me.ExitProg.MergeType = System.Windows.Forms.MenuMerge.Remove
Me.ExitProg.Text = "退出"
'
'DataEdit
'
Me.DataEdit.Index = 1
Me.DataEdit.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.AddField, Me.AddIndex})
Me.DataEdit.MergeType = System.Windows.Forms.MenuMerge.Remove
Me.DataEdit.Text = "编辑"
'
'AddField
'
Me.AddField.Index = 0
Me.AddField.MergeType = System.Windows.Forms.MenuMerge.Remove
Me.AddField.Text = "添加字段"
'
'AddIndex
'
Me.AddIndex.Index = 1
Me.AddIndex.MergeType = System.Windows.Forms.MenuMerge.Remove
Me.AddIndex.Text = "添加索引"
'
'TreeView1
'
Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Left
Me.TreeView1.ImageIndex = -1
Me.TreeView1.Name = "TreeView1"
Me.TreeView1.SelectedImageIndex = -1
Me.TreeView1.Size = New System.Drawing.Size(121, 273)
Me.TreeView1.TabIndex = 0
'
'Splitter1
'
Me.Splitter1.Location = New System.Drawing.Point(121, 0)
Me.Splitter1.Name = "Splitter1"
Me.Splitter1.Size = New System.Drawing.Size(3, 273)
Me.Splitter1.TabIndex = 1
Me.Splitter1.TabStop = False
'
'ListView1
'
Me.ListView1.Dock = System.Windows.Forms.DockStyle.Fill
Me.ListView1.Location = New System.Drawing.Point(124, 0)
Me.ListView1.Name = "ListView1"
Me.ListView1.Size = New System.Drawing.Size(168, 273)
Me.ListView1.TabIndex = 2
'
'ContextMenu1
'
Me.ContextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem2, Me.MenuItem3})
'
'MenuItem1
'
Me.MenuItem1.Index = 0
Me.MenuItem1.Text = "添加记录"
'
'MenuItem2
'
Me.MenuItem2.Index = 1
Me.MenuItem2.Text = "删除记录"
'
'MenuItem3
'
Me.MenuItem3.Index = 2
Me.MenuItem3.Text = "编辑记录"
'
'frmMain
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.ListView1, Me.Splitter1, Me.TreeView1})
Me.Menu = Me.MainMenu1
Me.Name = "frmMain"
Me.Text = "数据库管理"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub OpenDB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenDB.Click
Dim i As Integer
Me.OpenFileDialog1.Title = "请选择一个数据库:"
Me.OpenFileDialog1.Filter = "数据库(*.mdb)|*.mdb"
Me.OpenFileDialog1.InitialDirectory = Application.CommonAppDataPath
If Me.OpenFileDialog1.ShowDialog() = DialogResult.OK Then
MyDB = DAODBEngine_definst.OpenDatabase(Me.OpenFileDialog1.FileName)
TableNum = MyDB.TableDefs.Count
For i = 0 To TableNum - 1 Step 1
If (MyDB.TableDefs(i).Attributes = 0) Then
Me.TreeView1.Nodes.Add(MyDB.TableDefs(i).Name)
End If
Next
End If
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim Index As Short = Me.TreeView1.SelectedNode.Index
Dim i As Integer
MyRS = MyDB.OpenRecordset("Select * From " & Me.TreeView1.SelectedNode.Text)
MyTD = MyDB.TableDefs(Index)
CurrentTable = MyTD.Name
FieldNum = MyRS.Fields.Count
Me.ListView1.Clear()
For i = 0 To FieldNum - 1 Step 1
Me.ListView1.Columns.Add(MyRS.Fields(i).Name, 100, HorizontalAlignment.Left)
Next
Dim tempItem As ListViewItem
MyRS.MoveFirst()
While Not MyRS.EOF
tempItem = New ListViewItem(MyRS.Fields(0).Value.ToString)
For i = 1 To FieldNum - 1 Step 1
tempItem.SubItems.Add(MyRS.Fields(i).Value.ToString)
Next
Me.ListView1.Items.Add(tempItem)
MyRS.MoveNext()
End While
End Sub
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
With Me.ListView1
.View = View.Details
.LabelEdit = False
.CheckBoxes = False
.FullRowSelect = True
.GridLines = True
.Sorting = SortOrder.None
.ContextMenu = Me.ContextMenu1
End With
With Me.TreeView1
.FullRowSelect = True
.HideSelection = False
.LabelEdit = False
.ShowLines = True
.ShowPlusMinus = True
.ShowRootLines = True
End With
End Sub
Private Sub ExitProg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitProg.Click
End
End Sub
Private Sub AddField_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddField.Click
Dim dlg As frmAddField
dlg = New frmAddField()
dlg.ShowDialog()
End Sub
Private Sub AddIndex_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddIndex.Click
Dim dlg As frmAddIndex
dlg = New frmAddIndex()
dlg.ShowDialog()
End Sub
Private Sub ContextMenu1_Popup(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContextMenu1.Popup
Dim i As Integer
If Me.TreeView1.SelectedNode Is Nothing Then
For i = 0 To Me.ContextMenu1.MenuItems.Count - 1
Me.ContextMenu1.MenuItems(i).Enabled = False
Next
Else
For i = 0 To Me.ContextMenu1.MenuItems.Count - 1
Me.ContextMenu1.MenuItems(i).Enabled = True
Next
End If
If Me.ListView1.SelectedItems.Count <= 0 Then
For i = 0 To Me.ContextMenu1.MenuItems.Count - 1
Me.ContextMenu1.MenuItems(i).Enabled = False
Next
Else
For i = 0 To Me.ContextMenu1.MenuItems.Count - 1
Me.ContextMenu1.MenuItems(i).Enabled = True
Next
End If
End Sub
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
If Me.ListView1.SelectedItems.Count <= 0 Then
Exit Sub
End If
MyRS.MoveFirst()
MyRS.Move(Me.ListView1.SelectedItems(0).Index)
Dim dlg As ViewData
dlg = New ViewData()
dlg.ShowDialog()
End Sub
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click
MyRS.AddNew()
Dim dlg As ViewData
Dim i, j As Integer
dlg = New ViewData()
If dlg.ShowDialog() = DialogResult.OK Then
For i = 0 To dlg.Controls.Count - 1
If (dlg.Controls(i).GetType() Is GetType(TextBox)) Then
For j = 0 To MyRS.Fields.Count - 1
If dlg.Controls(i).Name = "Txt_" + MyRS.Fields(j).Name Then
MyRS.Fields(j).Value = dlg.Controls(i).Text
End If
Next
End If
Next
MyRS.Update()
End If
Me.TreeView1_AfterSelect(Nothing, Nothing)
End Sub
Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
MyRS.Delete()
MyRS.Update()
End Sub
Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
MyRS.Edit()
Dim dlg As ViewData
Dim i, j As Integer
dlg = New ViewData()
If dlg.ShowDialog() = DialogResult.OK Then
For i = 0 To dlg.Controls.Count - 1
If (dlg.Controls(i).GetType() Is GetType(TextBox)) Then
For j = 0 To MyRS.Fields.Count - 1
If dlg.Controls(i).Name = "Txt_" + MyRS.Fields(j).Name Then
MyRS.Fields(j).Value = dlg.Controls(i).Text
End If
Next
End If
Next
MyRS.Update()
End If
Me.TreeView1_AfterSelect(Nothing, Nothing)
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -