⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmresourcebrowse.vb

📁 单机版餐饮服务系统,结合了SqlServer数据库
💻 VB
📖 第 1 页 / 共 2 页
字号:
            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 + -