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

📄 frmmain.vb

📁 用c#编的一个invoice打印程序
💻 VB
📖 第 1 页 / 共 2 页
字号:
            dotNetBarManager1.Items("bPrint").Enabled = True
            dotNetBarManager1.Items("bPrintPreview").Enabled = True
            dotNetBarManager1.Items("bPageSetup").Enabled = True
        End If
    End Sub


    Private Sub frmMain_MdiChildActivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.MdiChildActivate
        EnableFileItems()
    End Sub

    Private Sub OpenDocument()
        openFileDialog1.FileName = ""
        openFileDialog1.ShowDialog()
        If openFileDialog1.FileName = "" Then Exit Sub
        Dim doc As frmDocument = New frmDocument()
        doc.Text = openFileDialog1.FileName
        doc.MdiParent = Me
        doc.Show()
        doc.OpenFile(openFileDialog1.FileName)
    End Sub

    Public Sub SaveDocument()
        If Me.ActiveMdiChild Is Nothing Then Exit Sub
        Dim doc As frmDocument = CType(Me.ActiveMdiChild, frmDocument)

        If doc Is Nothing Then Exit Sub
        If Not doc.DocumentChanged Then Exit Sub
        SaveDocument(doc)
    End Sub

    Public Sub SaveDocument(ByVal doc As frmDocument)
        If doc.FileName = "" Then
            Dim dr As DialogResult = saveFileDialog1.ShowDialog()
            If saveFileDialog1.FileName = "" Then Exit Sub
            If dr = DialogResult.OK Then doc.FileName = saveFileDialog1.FileName
        End If
        If doc.FileName <> "" Then doc.SaveFile()
    End Sub

    Private Sub SaveDocumentAs()
        If Me.ActiveMdiChild Is Nothing Then Exit Sub
        Dim doc As frmDocument = CType(Me.ActiveMdiChild, frmDocument)

        If doc Is Nothing Then Exit Sub
        If Not doc.DocumentChanged Then Exit Sub
        If doc.FileName = "" Then
            SaveDocument(doc)
            Exit Sub
        End If

        saveFileDialog1.ShowDialog()

        If saveFileDialog1.FileName = "" Then Exit Sub

        doc.FileName = saveFileDialog1.FileName
        doc.SaveFile()
    End Sub


    Private Sub dotNetBarManager1_ContainerLoadControl(ByVal sender As Object, ByVal e As System.EventArgs) Handles dotNetBarManager1.ContainerLoadControl
        Dim containerItem As ControlContainerItem
        Dim checkbox As CheckBox
        Dim item As BaseItem = CType(sender, BaseItem)

        If item Is Nothing Then Exit Sub

        If item.Name = "bChangeStyle" Then
            containerItem = CType(item, ControlContainerItem)
            checkbox = New CheckBox()
            checkbox.Text = "OfficeXP Style"
            checkbox.FlatStyle = FlatStyle.Flat
            checkbox.Size = New System.Drawing.Size(95, 17)
            checkbox.TabStop = False
            checkbox.Checked = True
            m_CheckStyle = checkbox
            containerItem.Control = m_CheckStyle
        ElseIf item.Name = "cTaskShowatstartup" Then
            containerItem = CType(item, ControlContainerItem)
            checkbox = New CheckBox()
            checkbox.Text = "Show at startup"
            checkbox.FlatStyle = FlatStyle.Flat
            checkbox.Size = New System.Drawing.Size(95, 17)
            checkbox.TabStop = False
            checkbox.Checked = True
            m_CheckTaskShowStartup = checkbox
            containerItem.Control = m_CheckTaskShowStartup
        ElseIf item.Name = "dockTaskList" Then
            ' See DefinitionLoaded event handler for Customize menu assignment for the bar that is containing this dock item 
            Dim dockItem As DockContainerItem = CType(item, DockContainerItem)
            dockItem.Control = New TaskList()
            ' Setting Displayed property for DockContainerItem will make sure that its tab is displayed first
            dockItem.Displayed = True
        ElseIf item.Name = "dockSearchResults" Then
            ' Just add the list box as a example...
            Dim dockItem As DockContainerItem = CType(item, DockContainerItem)
            Dim listbox As ListBox = New ListBox()
            ' This will set the minimum size for the DockContainerItem
            listbox.Size = New Size(32, 32)
            ' Must let the DockContainerItem resize it at will...
            listbox.IntegralHeight = False
            dockItem.Control = listbox
        End If
    End Sub

    Private Sub m_CheckStyle_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles m_CheckStyle.CheckedChanged
        If m_CheckStyle.Checked Then
            dotNetBarManager1.Style = eDotNetBarStyle.OfficeXP
            If dotNetBarManager1.IsThemeActive Then
                Dim item As BaseItem = dotNetBarManager1.GetItem("bThemes")
                item.Visible = True
                CType(item.ContainerControl, Bar).RecalcLayout()
            End If
        Else
            dotNetBarManager1.Style = eDotNetBarStyle.Office2000
            If dotNetBarManager1.IsThemeActive Then
                dotNetBarManager1.GetItem("bThemes").Visible = False
            End If
        End If
    End Sub

    Private Sub m_CheckTaskShowStartup_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles m_CheckTaskShowStartup.CheckedChanged
        MessageBox.Show("This item is here for demonstration purposes only and code should be added to save the state of it.")
    End Sub

    Private Sub dotNetBarManager1_DefinitionLoaded(ByVal sender As Object, ByVal e As System.EventArgs) Handles dotNetBarManager1.DefinitionLoaded
        ' Assign optional "Customize" menu to the bar that contains this item
        dotNetBarManager1.Bars("barTaskList").CustomizeMenu = CType(dotNetBarManager1.ContextMenus("bTaskListMenu"), PopupItem)
    End Sub

    Private Sub dotNetBarManager1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles dotNetBarManager1.MouseEnter
        ' Sync Status-bar with the item tooltip...
        Dim item As BaseItem = CType(sender, BaseItem)
        If item Is Nothing Then Exit Sub

        dotNetBarManager1.Bars("barStatus").Items("lStatus").Text = item.Tooltip

        ' Disable timer...
        If item.Name = "bThemes" And Timer1.Enabled Then
            Timer1.Enabled = False
            CType(item, ButtonItem).ForeColor = Color.Empty
        End If
    End Sub

    Private Sub dotNetBarManager1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles dotNetBarManager1.MouseLeave
        dotNetBarManager1.Bars("barStatus").Items("lStatus").Text = ""
    End Sub

    Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ChangeDotNetBarStyle(eDotNetBarStyle.Office2003)

        ' This makes sure that Theme support is enabled by the end-user as well as present on this OS
        If dotNetBarManager1.IsThemeActive Then
            dotNetBarManager1.GetItem("bThemes").Visible = True
            Timer1.Enabled = True
        End If
        ' Neccessary for Automatic Tab-Strip Mdi support
        tabStrip1.MdiForm = Me

        ' Setup Context menu for the barTaskList TabStrip...
        Dim barTask As Bar = dotNetBarManager1.Bars("barTaskList")
        dotNetBarManager1.SetContextMenuEx(barTask, "bDockContext")
    End Sub

    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ' Flash Item to attract attention...
        Dim item As ButtonItem = CType(dotNetBarManager1.GetItem("bThemes"), ButtonItem)
        If item.ForeColor.Equals(Color.Red) Then
            item.ForeColor = Color.Empty
        Else
            item.ForeColor = Color.Red
        End If
    End Sub

    Private Sub EnableThemes(ByVal item As ButtonItem)
        Dim bEnable As Boolean = Not item.Checked
        item.Checked = bEnable
        If bEnable Then
            item.Text = "Disable Themes"
        Else
            item.Text = "Enable Themes"
        End If

        dotNetBarManager1.ThemeAware = bEnable
        Me.Refresh()
    End Sub

    Private Sub dotNetBarManager1_PopupOpen(ByVal sender As Object, ByVal e As DevComponents.DotNetBar.PopupOpenEventArgs) Handles dotNetBarManager1.PopupOpen
        Dim item As BaseItem = CType(sender, BaseItem)
        If item Is Nothing Then Exit Sub

        If item.Name = "bTabContext" Then
            ' Enable/Disable the document related menu items based on where user right-clicked...
            Dim tab As TabItem = TabItemFromPoint(tabStrip1.PointToClient(Control.MousePosition))
            ' If no tab is under the mouse disable document related items...
            If tab Is Nothing Then
                item.SubItems("bClose").Enabled = False
                item.SubItems("bSave").Enabled = False
            Else
                item.SubItems("bClose").Enabled = True
                item.SubItems("bSave").Enabled = True
                ' Make sure that tab under the mouse is active tab
                tabStrip1.SelectedTab = tab
            End If
        ElseIf item.Name = "bDockContext" Then
            Dim barTask As Bar = dotNetBarManager1.Bars("barTaskList")
            ' Display our context menu only if user clicks on the bar caption or tab strip control
            If Not barTask.GrabHandleRect.Contains(barTask.PointToClient(Control.MousePosition)) AndAlso Not barTask.DockTabControl Is Nothing AndAlso Not barTask.DockTabControl.Bounds.Contains(barTask.PointToClient(Control.MousePosition)) Then
                e.Cancel = True
                Exit Sub
            End If
            item.SubItems.Clear()
            Dim contextItem As ButtonItem
            Dim dockItem As BaseItem
            For Each dockItem In barTask.Items
                contextItem = New ButtonItem(dockItem.Name, dockItem.Text)
                contextItem.GlobalItem = False
                AddHandler contextItem.Click, AddressOf DockContextClick
                item.SubItems.Add(contextItem)
                contextItem.Checked = dockItem.Visible
            Next
            contextItem = New ButtonItem("bc_tabnavigation", "Tab Navigation")
            contextItem.Checked = barTask.TabNavigation
            contextItem.BeginGroup = True
            AddHandler contextItem.Click, AddressOf DockContextClick
            item.SubItems.Add(contextItem)
        End If
    End Sub

    Private Sub DockContextClick(ByVal sender As Object, ByVal e As EventArgs)
        Dim item As ButtonItem = CType(sender, ButtonItem)
        If item Is Nothing Then Exit Sub

        Dim barTask As Bar = dotNetBarManager1.Bars("barTaskList")
        If item.Name = "bc_tabnavigation" Then
            barTask.TabNavigation = Not item.Checked
            barTask.DockTabControl.Refresh()
            Exit Sub
        End If

        If barTask.Items.Contains(item.Name) Then
            barTask.Items(item.Name).Visible = Not item.Checked
            barTask.RecalcLayout()
        End If
    End Sub

    Private Function TabItemFromPoint(ByVal pClient As Point) As TabItem
        TabItemFromPoint = Nothing
        If Not tabStrip1.ClientRectangle.Contains(pClient) Then Exit Function

        Dim tab As TabItem
        For Each tab In tabStrip1.Tabs
            If tab.Visible And tab.DisplayRectangle.Contains(pClient) Then
                TabItemFromPoint = tab
                Exit Function
            End If
        Next
    End Function

    Private Sub ChangeDotNetBarStyle(ByVal style As eDotNetBarStyle)
        CType(dotNetBarManager1.GetItem("bStyle2000"), ButtonItem).Checked = (style = eDotNetBarStyle.Office2000)
        CType(dotNetBarManager1.GetItem("bStyle2003"), ButtonItem).Checked = (style = eDotNetBarStyle.Office2003)
        CType(dotNetBarManager1.GetItem("bStyleXP"), ButtonItem).Checked = (style = eDotNetBarStyle.OfficeXP)

        dotNetBarManager1.Style = style
        If style = eDotNetBarStyle.Office2003 Or style = eDotNetBarStyle.OfficeXP Then
            If dotNetBarManager1.IsThemeActive Then
                Dim item As BaseItem = dotNetBarManager1.GetItem("bThemes")
                item.Visible = True
                CType(item.ContainerControl, Bar).RecalcLayout()
            End If
        ElseIf dotNetBarManager1.IsThemeActive Then
            dotNetBarManager1.GetItem("bThemes").Visible = False
        End If
        If style = eDotNetBarStyle.Office2003 Then
            tabStrip1.Style = eTabStripStyle.OneNote
            dotNetBarManager1.Bars("barTaskPane").BackColor = Color.Empty
            CType(dotNetBarManager1.GetItem("cTaskShowatstartup"), ControlContainerItem).Control.BackColor = dotNetBarManager1.Bars(0).ColorScheme.BarBackground2
        Else
            tabStrip1.Style = eTabStripStyle.Flat
            dotNetBarManager1.Bars("barTaskPane").BackColor = Color.FromArgb(245, 245, 245)
            CType(dotNetBarManager1.GetItem("cTaskShowatstartup"), ControlContainerItem).Control.BackColor = Color.FromArgb(245, 245, 245)
        End If
    End Sub

    Private Sub timerInfoBallon_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timerInfoBallon.Tick
        timerInfoBallon.Enabled = False
        m_InfoBalloon = New Balloon()
        m_InfoBalloon.CaptionImage = New Bitmap(GetType(frmMain), "Info.png")
        m_InfoBalloon.CaptionText = "New DotNetBar Feature Alert..."
        m_InfoBalloon.Text = "DotNetBar now includes Balloon control to help you convey your information effectively to the end-user.\nCheck out Find command implementation in this sample for an example of highly customized Balloon control."
        m_InfoBalloon.AutoResize()
        Dim item As BaseItem = dotNetBarManager1.Bars("edit").Items("bFind")
        m_InfoBalloon.AutoCloseTimeOut = 10
        m_InfoBalloon.Owner = Me
        m_InfoBalloon.Show(item, False)
    End Sub

    Private Sub frmMain_Move(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Move
        CloseInfoBalloon()
        CloseSearch()
    End Sub

    Private Sub CloseInfoBalloon()
        If Not m_InfoBalloon Is Nothing Then
            m_InfoBalloon.Close()
            m_InfoBalloon.Dispose()
            m_InfoBalloon = Nothing
        End If
    End Sub

    Private Sub CloseSearch()
        If (Not m_Search Is Nothing) Then
            m_Search.Close()
            m_Search.Dispose()
            m_Search = Nothing
        End If
    End Sub

    Public Sub SearchActiveDocument(ByVal text As String)
        Dim activedocument As frmDocument = CType(Me.ActiveMdiChild, frmDocument)
        If Not activedocument Is Nothing Then
            activedocument.ExecuteCommand("bFind", text)
        End If
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -