Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ερωτήσεις για το WebBrowser control

Îåêßíçóå áðü ôï ìÝëïò john. Τελευταία δημοσίευση από το μέλος john στις 19-08-2005, 18:52. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-08-2005, 18:59 3951

    Ερωτήσεις για το WebBrowser control

    Φτιάχνω ένα shell του IE με το WebBrowser control και τα έχω βρεί λίγο σκούρα. Δύο προβλήματα:

    1. Για το tabbed interface χρησιμοποιώ το TabControl. Για τη δημιουργία νέου tab φτιάχνω ένα νέο tab στο TabControl στον αέρα στο οποίο τοποθετώ ένα νέο webbrowser control. Το πρόβλημα είναι ότι μετά δεν έχω τον έλεγχο αφού όλα τα webbrowser controls έχουν το ίδιο όνομα π.χ. new_browser. Καμιά ιδέα;

    2. Πώς θα συνδέσω το webbrowser control με ένα progressbar για να βλέπω την πρόοδο κατά τη φόρτωση μιας σελίδας;

    Ευχαριστώ.

  •  02-08-2005, 21:04 3955 σε απάντηση της 3951

    Απ:Ερωτήσεις για το WebBrowser control

    1. Μπορείς να προσθέτεις ένα αριθμό στο όνομα του Control. Ξεκινάς με το 1 (που το κρατάς σε μία static μεταβλητή) και το δίνεις στο πρώτο control. Προσθέτεις ένα και φτιάχνεις το όνομα του επόμενου.
    name = "webBrowser" + (++count).ToString();

    2. Νομίζω ότι πρέπει να πιάνεις το ProgressChange event.

    Άρης


    Aris
  •  05-08-2005, 09:08 4020 σε απάντηση της 3955

    Απ:Ερωτήσεις για το WebBrowser control

    1. Άρη, δυστυχώς το property Name του browser είναι ReadOnly.Ακόμα κι αν δεν ήταν όμως και μπορούσα να δώσω κάτι τέτοιο:

    Sub newpage()
    i = i + 1
    Dim tab As New System.Windows.Forms.TabPage
    tab.Name = "tab" & i.ToString
    tab.Text = tab.Name
    TabControl1.TabPages.Add(tab)

    Dim browser As New AxSHDocVw.AxWebBrowser
    tab.Controls.Add(browser)
    browser.Name = "browser" & i.ToString()
    End Sub

    τι θα έκανα με τα events του browser15 π.χ ;

    Μήπως γίνεται κάτι με το property TabIndex;

    2.Είχες δίκιο. Έπρεπε να το είχα προσέξει.

  •  05-08-2005, 13:43 4030 σε απάντηση της 4020

    Paradise [ip] Απ:Ερωτήσεις για το WebBrowser control

    Για δες αυτό, μια πρόχειρη λύση που μου ήρθε στο μυαλό:

    Dim i As Integer

    Dim browsers As New Hashtable

     

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

       newpage()

    End Sub

     

    Sub newpage()

       i = i + 1

       Dim tab As New System.Windows.Forms.TabPage

       tab.Name = "tab" & i.ToString

       tab.Text = tab.Name

       TabControl1.TabPages.Add(tab)

     

       Dim browser As New AxSHDocVw.AxWebBrowser

       browsers.Add(tab.Name, browser)

       tab.Controls.Add(browsers(tab.Name))

       AddHandler browser.ProgressChange, AddressOf ProgressChange

    End Sub

     

    Sub ProgressChange(ByVal sender As System.Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_ProgressChangeEvent)

       ProgressBar1.Value = e.progress

    End Sub

     

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

       Dim br As AxSHDocVw.AxWebBrowser = CType(browsers(TabControl1.SelectedTab.Name), AxSHDocVw.AxWebBrowser)

       br.Navigate2(TextBox1.Text)

    End Sub

     

    Το κόλπο είναι καθώς δημιουργείς δυναμικά τα browser controls πριν τα κάνεις add στο tab page να τα βάλεις σε ένα hash table.
    Ως key για κάθε item που βάζεις στο hash table βάζεις το name property του νέου tab οπότε κατόπιν μπορείς μέσα από το SelectedTab.Name
    να βρεις ποιό browser control βλέπει ο χρήστης.

     

    Επίσης, άλλο ένα κόλπο είναι η δυνατότητα να συσχετίσεις δυναμικά ένα event με την ανάλογη ρουτίνα που θα καλείται, όταν τρέξει αυτό το event.

    Αυτό γίνεται μέσω του AddHandler. Δυστυχώς είμαι στο τρέξιμο και δεν έχω χρόνο να συμμαζέψω τον κώδικα (πχ δεν έχω βάλει το ανάλογο RemoveHandler).

    Κάνε τις δοκιμές σου και τα ξαναλέμε από Τρίτη!

     

    Πάω για Paradise [ip]


    Vir prudens non contra ventum mingit
  •  19-08-2005, 18:52 4434 σε απάντηση της 4030

    Απ:Ερωτήσεις για το WebBrowser control

    Φαίνεται να δουλεύει μια χαρά. Έκανα κάποιες αλλαγές και έγινε όπως το ήθελα. Ευχαριστώ για τη βοήθεια.
    Όταν το τελειώσω (που δεν βλέπω να γίνεται σύντομα με τόσα μαθήματα) ίσως το ανεβάσω.

    Καλές διακοπές σε όσους συνεχίζουν (που μάλλον είναι ελάχιστοι αλλά τέλος πάντων)!

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems