Results 1 to 7 of 7

Thread: IE Webbrowser

Threaded View

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2008
    Posts
    474

    IE Webbrowser

    I m working on project in which i have to add tab & close tab as that of IE.
    I m able to do dat,but its not very much clean.Check it out.Plz see if somebody can help me to do it more better.

    Code:
    Public Class Form5
        Public lSelectedTabPageIndex As Integer
        Public CurrentWEB As WebBrowser
    
        Public Sub New()
            MyBase.New()
            InitializeComponent()
            TabWebBrowsers.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed
        End Sub
    
        Private Sub mnuAddTab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAddTab.Click
            Try
                lSelectedTabPageIndex = lSelectedTabPageIndex + 1
                Call AddNewTabInTabWebBrowsers(True, True)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    
        Private Sub AddNewTabInTabWebBrowsers(ByVal bMakeTab As Boolean, ByVal bMakeWebBrowser As Boolean)
            Static lTabPageCount As Integer = 1
    
            If bMakeTab Then
                Dim tab As TabPage = New TabPage("Connecting...")
                tab.Name = "tab" & lTabPageCount
                tab.Tag = "http://www.google.com"
                tab.ImageIndex = 0
                TabWebBrowsers.TabPages.Add(tab)
                TabWebBrowsers.SelectedIndex = TabWebBrowsers.TabPages.Count - 1
                lSelectedTabPageIndex = TabWebBrowsers.TabPages.Count - 1
                lTabPageCount = lTabPageCount + 1
                If TabWebBrowsers.TabPages.Count > 1 Then
                    ContextmnuCloseTab.Enabled = True
                End If
            End If
    
            If bMakeWebBrowser Then Call AddWebBrowserATRUNTIME(bMakeTab)
        End Sub
    
        Private Sub AddWebBrowserATRUNTIME(ByVal bMakeTab As Boolean)
            Try
                Dim WEB As New WebBrowser
                Static lWEBCount As Integer = 0
                WEB.Name = "Wbr" & lWEBCount
                WEB.Size = New Size(731, 354)
                WEB.Location = New Point(3, 3)
                If bMakeTab = False Then
                    WEB.Navigate("http://www.google.com")
                Else
                    WEB.Navigate("about:blank")
                End If
    
                TabWebBrowsers.TabPages.Item(TabWebBrowsers.TabPages.Count - 1).Controls.Add(WEB)
                lWEBCount = lWEBCount + 1
                TabWebBrowsers.Refresh()
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    
        Private Sub TabWebBrowsers_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles TabWebBrowsers.DrawItem
            Try
                Dim _imageLocation As Point = New Point(15, 4)
                Dim g As Graphics = e.Graphics
                Dim tp As TabPage = TabWebBrowsers.TabPages(e.Index)
                Dim br As Brush
                Dim sf As New StringFormat
    
                Dim rold As New RectangleF(e.Bounds.X, e.Bounds.Y + 2, e.Bounds.Width, e.Bounds.Height - 2)
    
                sf.Alignment = StringAlignment.Center
    
                Dim strTitle As String = tp.Text
    
                br = New SolidBrush(Color.LightBlue) ' Change this to your preference
                g.FillRectangle(br, e.Bounds)
                br = New SolidBrush(Color.Black)
                g.DrawString(strTitle, TabWebBrowsers.Font, br, rold, sf)
    
                Dim img As Image = ImgCommon.Images(0)  'ImgIcons.Images(1) MONISH
                Dim r1 As Rectangle = e.Bounds
                r1 = Me.TabWebBrowsers.GetTabRect(e.Index)
                r1.Offset(2, 2)
    
                Dim TitleBrush As Brush = New SolidBrush(Color.Black)
                Dim f As Font = Me.Font
    
                Dim title As String = Me.TabWebBrowsers.TabPages(e.Index).Text
                e.Graphics.DrawImage(img, New Point(r1.X + (Me.TabWebBrowsers.GetTabRect(e.Index).Width - _imageLocation.X) - 10, _imageLocation.Y + 2))
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    
        Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                Call AddNewTabInTabWebBrowsers(False, True)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    
        Private Sub ContextmnuCloseTab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContextmnuCloseTab.Click
            Try
    
                If lSelectedTabPageIndex + 1 = TabWebBrowsers.TabPages.Count Then
                    lSelectedTabPageIndex = lSelectedTabPageIndex - 1
                End If
    
                With Me.TabWebBrowsers.TabPages
                    .Remove(.Item(lSelectedTabPageIndex))
                End With
    
                With Me.TabWebBrowsers
                    .SelectedIndex = lSelectedTabPageIndex
                    .Refresh()
                End With
    
                If TabWebBrowsers.TabPages.Count = 1 Then
                    ContextmnuCloseTab.Enabled = False
                End If
    
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    
        Private Sub TabWebBrowsers_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabWebBrowsers.MouseUp
            Try
                Dim tabIndex As Integer
                tabIndex = GetTabIndex(e.Location)
                If tabIndex <> -1 Then
                    lSelectedTabPageIndex = CInt(tabIndex.ToString("F0"))
                End If
    
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    
        Private Function GetTabIndex(ByVal p As Point) As Integer
            Dim result As Integer = -1
            Dim i1 As Integer
            For i1 = 0 To TabWebBrowsers.TabPages.Count - 1
                If TabWebBrowsers.GetTabRect(i1).Contains(p) Then
                    GetTabIndex = i1
                End If
            Next
        End Function
    End Class
    In first tab i m opening google.On other tabs i m opening blank.
    I m facing just simple probs in close tab,Suppose i click on first tab that is google,then right click on second tab(tab haeder) to close it...When tab is close,First just a min, google tab is shown then selected tab is shown....I dont want to show even a google tab for a min...


    Is there any easy way to craete IE browser..is there any IE Browsr control in VB.Net?
    Attached Files Attached Files

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width