📄 frmresourcebrowse.vb
字号:
Me.lbTable.Name = "lbTable"
Me.lbTable.Size = New System.Drawing.Size(495, 23)
Me.lbTable.TabIndex = 3
Me.lbTable.Text = "使用状态一览"
Me.lbTable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'TablesPanel
'
Me.TablesPanel.AutoScroll = True
Me.TablesPanel.BackColor = System.Drawing.Color.Gray
Me.TablesPanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.TablesPanel.Dock = System.Windows.Forms.DockStyle.Fill
Me.TablesPanel.Location = New System.Drawing.Point(203, 23)
Me.TablesPanel.Name = "TablesPanel"
Me.TablesPanel.Size = New System.Drawing.Size(495, 459)
Me.TablesPanel.TabIndex = 4
'
'frmResourceBrowse
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(698, 504)
Me.Controls.Add(Me.TablesPanel)
Me.Controls.Add(Me.lbTable)
Me.Controls.Add(Me.VerticleSplitter)
Me.Controls.Add(Me.RoomsPanel)
Me.Controls.Add(Me.ResourceStatus)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Name = "frmResourceBrowse"
Me.Text = "资源浏览"
CType(Me.CurrentRoom, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RoomNamePanel, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.CurrentTable, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TableNumberPanel, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ContainPersons, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ContainPersonsPanel, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.CurrentStatus, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TableStatusPanel, System.ComponentModel.ISupportInitialize).EndInit()
Me.RoomsPanel.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
Private TableList As New SortedList
Private Index, Count As Integer
Private Const Pad As Integer = 5
Private sqlstr As String = String.Empty
Private OldWidth, OldHeight As Integer
Private NewWidth, NewHeight As Integer
Private Sub frmResourceBrowse_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
InitializeTabesTree()
ArrayTables()
OldWidth = TablesPanel.Width
OldHeight = TablesPanel.Height
End Sub
Private Sub ArrayTables()
Try
If TableList.Count > 0 Then
TablesPanel.Controls.Clear()
Dim Cols, Rows As Integer
Dim Col, Row As Integer
Dim TotalWidth As Integer = TablesPanel.Width
Dim TotalHeight As Integer = TablesPanel.Height
Dim mWidth, mHeight As Integer
For Index = 0 To TableList.Count - 1
Dim mTable As New RoomAndTableControl
mTable = CType(TableList.GetByIndex(Index), RoomAndTableControl)
mWidth = mTable.Width
mHeight = mTable.Height
Cols = CInt((TotalWidth / (mWidth + 2 * Pad)))
Col = Index Mod Cols
Row = Index \ Cols
TablesPanel.Controls.Add(mTable)
mTable.Location = New Point(Pad + Col * _
(mWidth + Pad), Pad + Row * (mHeight + Pad))
Next
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub TablesPanel_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles TablesPanel.Resize
NewHeight = TablesPanel.Height
NewWidth = TablesPanel.Width
If NewHeight <> OldHeight Or NewWidth <> OldWidth Then
ArrayTables()
OldHeight = NewHeight
OldWidth = NewWidth
End If
End Sub
Private Sub InitializeTabesTree()
RoomsTree.Nodes.Clear()
TableList.Clear()
Dim myDS As New DataSet
Dim RoomName As String
Dim Counter As Integer = 1
RoomsTree.Nodes.Add("卧溪酒楼")
RoomsTree.TopNode.Tag = "IsRoots"
RoomsTree.TopNode.ImageIndex = 0
RoomsTree.TopNode.SelectedImageIndex = 0
myDS.Clear()
sqlstr = "SELECT DISTINCT roomname FROM TableInfo ORDER BY roomname DESC"
myDS = AccessToDatabase.GetDataFromDB(sqlstr)
If Not myDS Is Nothing Then
Count = myDS.Tables(0).Rows.Count
For Index = 0 To Count - 1
RoomName = CStr(myDS.Tables(0).Rows(Index)("roomname")).Trim
RoomsTree.TopNode.Nodes.Add(RoomName)
RoomsTree.TopNode.Nodes(Index).Tag = "IsBranches"
RoomsTree.TopNode.Nodes(Index).ImageIndex = 1
RoomsTree.TopNode.Nodes(Index).SelectedImageIndex = 2
sqlstr = "SELECT tablenum,persons,status FROM TableInfo WHERE roomname='" & RoomName & "'"
Dim tempDS As New DataSet
Dim sCount, sIndex As Integer
Dim TableNum As String
Dim mStatus As RoomAndTableControl.UseStatus
Dim sStatus As String
Dim Persons As Integer
tempDS.Clear()
tempDS = AccessToDatabase.GetDataFromDB(sqlstr)
If Not tempDS Is Nothing Then
sCount = tempDS.Tables(0).Rows.Count
For sIndex = 0 To sCount - 1
TableNum = CStr(tempDS.Tables(0).Rows(sIndex)("tablenum")).Trim
sStatus = CStr(tempDS.Tables(0).Rows(sIndex)("status")).Trim
Persons = CInt(tempDS.Tables(0).Rows(sIndex)("persons"))
RoomsTree.TopNode.Nodes(Index).Nodes.Add(RoomName & "---" & TableNum & " 号桌")
Select Case sStatus
Case "进餐中"
mStatus = RoomAndTableControl.UseStatus.进餐中
Case "修缮中"
mStatus = RoomAndTableControl.UseStatus.修缮中
Case "已空闲"
mStatus = RoomAndTableControl.UseStatus.已空闲
Case "已预定"
mStatus = RoomAndTableControl.UseStatus.已预定
End Select
Dim mTable As New RoomAndTableControl
mTable.TableName = RoomName & " - " & TableNum & " 号"
mTable.TableNum = TableNum
mTable.RoomName = RoomName
mTable.ContainPersons = Persons
mTable.Status = mStatus
Counter += 1
TableList.Add(Counter, mTable)
RoomsTree.TopNode.Nodes(Index).Nodes(sIndex).Tag = mTable
RoomsTree.TopNode.Nodes(Index).Nodes(sIndex).ImageIndex = 3
RoomsTree.TopNode.Nodes(Index).Nodes(sIndex).SelectedImageIndex = 4
AddHandler mTable.Click, AddressOf TablesPanelClick
AddHandler mTable.lbTitle.Click, AddressOf TablesPanelClick
AddHandler mTable.lbStatus.Click, AddressOf TablesPanelClick
Next
End If
Next
RoomsTree.ExpandAll()
End If
End Sub
Private Sub RoomsTree_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles RoomsTree.AfterSelect
If e.Node.Tag.GetType.ToString <> "System.String" Then
Dim mTable As RoomAndTableControl = CType(e.Node.Tag, RoomAndTableControl)
RoomNamePanel.Text = mTable.RoomName
TableNumberPanel.Text = mTable.TableNum & " 号桌"
ContainPersonsPanel.Text = mTable.ContainPersons & "人"
TableStatusPanel.Text = mTable.Status.ToString
Else
RoomNamePanel.Text = String.Empty
TableNumberPanel.Text = String.Empty
ContainPersonsPanel.Text = String.Empty
TableStatusPanel.Text = String.Empty
End If
End Sub
Private Sub TablesPanelClick(ByVal sender As Object, ByVal e As System.EventArgs)
Dim mTable As RoomAndTableControl
If sender.GetType.ToString <> "System.Windows.Forms.Label" Then
mTable = CType(sender, RoomAndTableControl)
Else
mTable = CType(CType(sender, Label).Parent, RoomAndTableControl)
End If
mTable.BackColor = Color.Navy
mTable.lbStatus.BackColor = Color.Navy
mTable.lbTitle.BackColor = Color.Navy
mTable.lbStatus.ForeColor = Color.White
mTable.lbTitle.ForeColor = Color.White
RoomNamePanel.Text = mTable.RoomName
TableNumberPanel.Text = mTable.TableNum & " 号桌"
ContainPersonsPanel.Text = mTable.ContainPersons & "人"
TableStatusPanel.Text = mTable.Status.ToString
End Sub
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -