Click here to Skip to main content
15,886,518 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Can anyone offer me some advise? I currently have a listbox i am using, in the listbox there is a list of images from any website. they are grabbed from the website via this method;;;


Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    Dim PageElements As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("img")
    For Each CurElement As HtmlElement In PageElements
        imagestxt.Items.Add(imagestxt.Text & CurElement.GetAttribute("src") & Environment.NewLine)
    Next
    Timer1.Enabled = True
End Sub


I then use the picture control method to get the image and display it.
pic1.Image = New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(imagestxtimagestxt.SelectedItem.ToString))).SelectedItem.ToString)))

This method pulls the images and title from the HTML.


VB
Private Function StrHTML12() As Boolean
    Dim htmlDocument As HtmlDocument = WebBrowser1.Document
    ListBox1.Items.Clear()
    For Each element As HtmlElement In htmlDocument.All
        ListBox1.Items.Add(element.TagName)
        If element.TagName.ToUpper = "IMG" Then
            imgtags.Items.Add(element.OuterHtml.ToString)
        End If
        If element.TagName.ToUpper = "TITLE" Then
            titletags.Items.Add(element.OuterHtml.ToString)
            Timer1.Enabled = False
        End If
    Next
End Function


This is a counting method to count how many empty alt="" or emply

Basicly what i am looking to do is;

1) Have a program that can check the image, look at the alt = ' ' or <img a l t = ' ' if on the website the dev hasn't put anything in the alt tag i want the image to show in a picture box and i want the alt tag either next to it or underneith it or something. but i have no idea how.
Posted
Updated 25-Feb-13 4:55am
v4

1 solution

OK .. first create an object that holds the data you want:

VB
Public Class HTMLImages
    Public Image As Image
    Public Description As String
    Public Overrides Function ToString() As String
        Return Description
    End Function
End Class


Then populate your list with the filled objects

Make sure your ListBox.DrawMode is set to DrawMode.OwnerDrawFixed

Handle the ListBox1.DrawItem

Paint what you want if the item is a HTMLImages object

If you need help with GDI+ painting ask me
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900