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

📄 tabcontrol.vb

📁 VB.NET的Web浏览器IE7的克隆选项卡式浏览器 描述:这是一个例子写的vb.net浏览器使用的。 NET Framework 2.0 ( Visual Studio 2005中) 。这是一个
💻 VB
📖 第 1 页 / 共 5 页
字号:
    Public Property ControlButtonBackHighColor() As System.Drawing.Color
        Get
            Return DropButton.BackHighColor
        End Get
        Set(ByVal Value As Color)
            DropButton.BackHighColor = Value
            CloseButton.BackHighColor = Value
        End Set
    End Property

    Friend Function ShouldSerializeControlButtonBackHighColor() As Boolean
        Return DropButton.BackHighColor <> Me.defaultControlButtonBackHighColor
    End Function

    Friend Sub ResetControlButtonBackHighColor()
        DropButton.BackHighColor = Me.defaultControlButtonBackHighColor
        CloseButton.BackHighColor = Me.defaultControlButtonBackHighColor
    End Sub

    <Browsable(True), Category("Appearance"), Description("Gets or sets the System.Drawing.Color structure that represents the ending color of the Background linear gradient for the control button.")> _
    Public Property ControlButtonBackLowColor() As Color
        Get
            Return DropButton.BackLowColor
        End Get
        Set(ByVal Value As Color)
            DropButton.BackLowColor = Value
            CloseButton.BackLowColor = Value
        End Set
    End Property

    Friend Function ShouldSerializeControlButtonBackLowColor() As Boolean
        Return DropButton.BackLowColor <> Me.defaultControlButtonBackLowColor
    End Function

    Friend Sub ResetControlButtonBackLowColor()
        DropButton.BackLowColor = Me.defaultControlButtonBackLowColor
        CloseButton.BackLowColor = Me.defaultControlButtonBackLowColor
    End Sub

    <Browsable(True), Category("Appearance"), Description("Gets or sets the System.Drawing.Color structure that represents the border color for the control button.")> _
    Public Property ControlButtonBorderColor() As Color
        Get
            Return DropButton.BorderColor
        End Get
        Set(ByVal Value As Color)
            DropButton.BorderColor = Value
            CloseButton.BorderColor = Value
        End Set
    End Property

    Friend Function ShouldSerializeControlButtonBorderColor() As Boolean
        Return DropButton.BorderColor <> Me.defaultControlButtonBorderColor
    End Function

    Friend Sub ResetControlButtonBorderColor()
        DropButton.BorderColor = Me.defaultControlButtonBorderColor
        CloseButton.BorderColor = Me.defaultControlButtonBorderColor
    End Sub

    <Browsable(True), Category("Appearance"), Description("Gets or sets the System.Drawing.Color structure that represents the ForeColor for the control button.")> _
    Public Property ControlButtonForeColor() As Color
        Get
            Return DropButton.ForeColor
        End Get
        Set(ByVal Value As Color)
            DropButton.ForeColor = Value
            CloseButton.ForeColor = Value
        End Set
    End Property

    Friend Function ShouldSerializeControlButtonForeColor() As Boolean
        Return DropButton.ForeColor <> Me.defaultControlButtonForeColor
    End Function

    Friend Sub ResetControlButtonForeColor()
        DropButton.ForeColor = Me.defaultControlButtonForeColor
        CloseButton.ForeColor = Me.defaultControlButtonForeColor
    End Sub

    <Browsable(True), Category("Appearance"), Description("Gets or sets the System.Drawing.Color structure that represents the ending color of the Background linear gradient for the tabs region.")> _
    Public Property BackLowColor() As System.Drawing.Color
        Get
            Return m_BackLowColor
        End Get
        Set(ByVal Value As Color)
            m_BackLowColor = Value
            Invalidate()
        End Set
    End Property

    Friend Function ShouldSerializeBackLowColor() As Boolean
        Return m_BackLowColor <> Me.defaultBackLowColor
    End Function

    Friend Sub ResetBackLowColor()
        m_BackLowColor = Me.defaultBackLowColor
    End Sub

    <Browsable(True), Category("Appearance"), Description("Gets or sets the System.Drawing.Color structure that represents the starting color of the Background linear gradient for the tabs region.")> _
    Public Property BackHighColor() As Color
        Get
            Return m_BackHighColor
        End Get
        Set(ByVal Value As Color)
            m_BackHighColor = Value
            Invalidate()
        End Set
    End Property

    Friend Function ShouldSerializeBackHighColor() As Boolean
        Return m_BackHighColor <> Me.defaultBackHighColor
    End Function

    Friend Sub ResetBackHighColor()
        m_BackHighColor = Me.defaultBackHighColor
    End Sub

    <Browsable(True), Category("Appearance"), Description("Gets or sets the System.Drawing.Color structure that represents the border color.")> _
    Public Property BorderColor() As Color
        Get
            Return m_BorderColor
        End Get
        Set(ByVal Value As Color)
            m_BorderColor = Value
            For Each t As TabPage In TabPages
                t.BorderColor = Value
            Next
            pnlTabs.Invalidate()
            pnlTop.Invalidate()
        End Set
    End Property

    Friend Function ShouldSerializeBorderColor() As Boolean
        Return m_BorderColor <> Me.defaultBorderColor
    End Function

    Friend Sub ResetBorderColor()
        m_BorderColor = Me.defaultBorderColor
    End Sub

    <Browsable(False), Description("Gets the collection of tab pages in this tab control.")> _
    Public ReadOnly Property TabPages() As TabPageCollection
        Get
            Return Items
        End Get
    End Property

    <Browsable(True), Category("Appearance"), Description("The painting style applied to the control.")> _
    Public Property RenderMode() As ToolStripRenderMode
        Get
            Return m_RenderMode
        End Get
        Set(ByVal value As ToolStripRenderMode)
            m_RenderMode = value
            DropButton.RenderMode = value
            CloseButton.RenderMode = value
            WinMenu.RenderMode = value
            For Each t As TabPage In TabPages
                t.RenderMode = value
            Next
        End Set
    End Property

    <Browsable(False)> _
       Public Property MenuRenderer() As ToolStripRenderer
        Get
            Return m_ContextMenuRenderer
        End Get
        Set(ByVal value As ToolStripRenderer)
            m_ContextMenuRenderer = value
            WinMenu.Renderer = m_ContextMenuRenderer
        End Set
    End Property

    <Browsable(True), Category("Appearance"), DefaultValue(Weight.Medium), Description("The weight of the border.")> _
    Public Property TabBorderEnhanceWeight() As Weight
        Get
            Return m_TabBorderEnhanceWeight
        End Get
        Set(ByVal value As Weight)
            m_TabBorderEnhanceWeight = value
            For Each t As TabPage In TabPages
                t.BorderEnhanceWeight = value
            Next
        End Set
    End Property

    Friend Function ShouldSerializeRenderMode() As Boolean
        Return m_RenderMode <> Me.defaultRenderMode
    End Function

    Friend Sub ResetRenderMode()
        m_RenderMode = Me.defaultRenderMode
    End Sub

    Private Sub SetControlsSizeLocation()
        If DropButton.Visible And CloseButton.Visible Then
            pnlControls.Width = 43
        ElseIf DropButton.Visible Or CloseButton.Visible Then
            pnlControls.Width = 25
        Else
            pnlControls.Width = 3
        End If
        pnlControls.Left = Me.Width - pnlControls.Width
        CheckVisibility()
    End Sub

    Private Sub AdjustHeight()
        If Alignment = TabAlignment.Top Then
            pnlTop.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right
            pnlTop.Height = pnlTabs.Height + m_TabTop
            pnlTop.Top = IIf(m_TopSeparator, 2, 0)
            pnlTabs.Top = m_TabTop
            pnlBottom.Height = Me.Height - (pnlTop.Height + IIf(m_TopSeparator, 2, 0))
            pnlBottom.Top = Me.Height - pnlBottom.Height
        Else
            pnlTop.Anchor = AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right
            pnlTop.Height = pnlTabs.Height + m_TabTop
            pnlTop.Top = Me.Height - pnlTop.Height
            pnlTabs.Top = 0
            pnlBottom.Height = Me.Height - (pnlTop.Height + IIf(m_TopSeparator, 2, 0))
            pnlBottom.Top = IIf(m_TopSeparator, 2, 0)
        End If
        pnlTop.Invalidate()
    End Sub

    Private Sub ArrangeItems()
        pnlTabs.SuspendLayout()
        If Items.Count = 0 Then Exit Sub
        Dim x As Integer = LeftOffset
        For i As Integer = 0 To Items.Count - 1
            Items(i).TabVisible = x + Items(i).Width < pnlControls.Left
            If Items(i).IsSelected And Not Items(i).TabVisible Then
                SelectItem(Items(i))
                Exit Sub
            End If
            Items(i).TabLeft = x
            x += Items(i).Width + m_TabOffset - 1
        Next
        If Not AddingPage Then
            If IsDelete Then
                For i As Integer = Items.Count - 1 To 0 Step -1
                    ShowTab(i)
                Next
                IsDelete = False
            Else
                For i As Integer = 0 To Items.Count - 1
                    ShowTab(i)
                Next
            End If
        End If
        pnlTabs.ResumeLayout()
    End Sub

    Private Sub CheckVisibility()
        If Items Is Nothing Then Exit Sub
        Dim x As Integer = LeftOffset
        For i As Integer = 0 To Items.Count - 1
            If Items(i).TabVisible <> (x + Items(i).Width < pnlControls.Left) Then
                If Items(i).TabVisible Then
                    Items(i).TabVisible = False
                    If Items(i).IsSelected Then
                        SelectItem(Items(i))
                        Exit Sub
                    Else
                        ShowTab(i)
                        Exit Sub
                    End If
                Else
                    Items(i).TabVisible = True
                    Items(i).TabLeft = x
                    ShowTab(i)
                End If
            ElseIf Not Items(i).TabVisible Then
                Exit Sub
            End If
            x += Items(i).Width + m_TabOffset - 1
            If x > pnlControls.Left Then Exit Sub
        Next
    End Sub

    Private Sub ShowTab(ByVal i As Integer)
        Items(i).Visible = Items(i).TabVisible
        If Items(0).Width <> 1 Then Items(i).Left = Items(i).TabLeft
    End Sub

    Private Sub SelectItem(ByVal TabPage As TabPage)
        For Each T As TabPage In TabPages
            T.IsSelected = False
        Next
        If TabPage IsNot Nothing Then
            For Each t As TabPage In TabPages
                If m_TabsDirection = FlowDirection.LeftToRight Then t.SendToBack() Else t.BringToFront()
            Next
            ' only the visible tab container has style doc.fill - when resize don't resize all tab containers
            TabPage.m_Form.Dock = DockStyle.Fill
            TabPage.m_Form.Visible = True
            TabPage.BringToFront()
            TabPage.m_Form.BringToFront()
            TabPage.m_Form.Focus()
            If pnlBottom.Controls.Count > 1 Then
                pnlBottom.Controls(1).Visible = False
                pnlBottom.Controls(1).Dock = DockStyle.None
            End If
            TabPage.IsSelected = True
            If Not TabPage.TabVisible And TabPages.IndexOf(TabPage) <> 0 Then
                TabPages.IndexOf(TabPage) = 0
            End If
        ElseIf pnlTabs.Controls.Count > 0 Then
            For Each t As TabPage In Items
                If t.m_Form.Equals(pnlBottom.Controls(0)) Then
                    t.Select()
                    Exit For
                End If
            Next
        

⌨️ 快捷键说明

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