ΣΕ ΑΥΤΗΝ ΤΗΝ ΕΡΓΑΣΙΑ
Σύνοψη
Visual Basic .NET εφαρμογές που φιλοξενούν το στοιχείο ελέγχου WebBrowser μπορεί να χειριστεί το συμβάν NewWindow2 για να τραβήξετε μια κλήση window.open που δημιουργείται από τη δέσμη ενεργειών. Ωστόσο, δεν είναι αμέσως εμφανές πως η εφαρμογή σας μπορεί να λάβει τις τιμές πλάτους και ύψους που μεταβιβάζονται στο όρισμα δυνατότητες του window.open έτσι ώστε ο κεντρικός υπολογιστής WebBrowser να μεγαλώσετε ένα παράθυρο σωστά. Αυτό το άρθρο επιδεικνύει τον τρόπο για να αποκτήσετε το νέο πλάτος και το ύψος του στοιχείου ελέγχου WebBrowser και να αλλάξετε το μέγεθος της φόρμας ανάλογα.
Απαιτήσεις
Η ακόλουθη λίστα περιγράφει το υλικού που συνιστώνται, λογισμικό, υποδομή δικτύου και τα service pack που χρειάζεστε:
-
Microsoft Visual Studio .NET
-
Microsoft Internet Explorer 5.5 Service Pack 2 ή νεότερη έκδοση
Δημιουργία του δείγματος
Αυτή η ενότητα περιγράφει τον τρόπο για τη φιλοξενία του στοιχείου ελέγχου WebBrowser σε μια εφαρμογή της Visual Basic .NET, πώς να χειριστεί το συμβάν NewWindow2 του στοιχείου ελέγχου WebBrowser και, στη συνέχεια, πώς να χειριστεί το WindowSetWidth και τα συμβάντα WindowSetHeight για να Αλλάξτε το μέγεθος της εφαρμογής σας.
-
Δημιουργία μιας νέας εφαρμογής των Windows στο Visual Basic ως εξής:
-
Ξεκινήστε το Visual Studio .NET.
-
Στο μενού αρχείο , επιλέξτε Δημιουργίακαι, στη συνέχεια, κάντε κλικ στο έργο.
-
Στην περιοχή Τύπους έργων, κάντε κλικ στο κουμπί Έργα της Visual Basic. Στην περιοχή πρότυπα, κάντε κλικ στο κουμπί Εφαρμογή των Windows.
-
-
Στην εργαλειοθήκη, κάντε κλικ στην επιλογή Γενικά, κάντε δεξιό κλικ στην εργαλειοθήκη και, στη συνέχεια, κάντε κλικ στο κουμπί Προσαρμογή εργαλειοθήκη.
-
Στην καρτέλα Στοιχεία COM , επιλέξτε το πλαίσιο ελέγχου Microsoft Web Browser και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
-
Στην εργαλειοθήκη, κάντε διπλό κλικ στο παράθυρο της Εξερεύνησης.
-
Προσθέστε ένα στοιχείο ελέγχου κουμπιού και ένα στοιχείο ελέγχου πλαισίου κειμένου στη φόρμα σας.
-
Κάντε διπλό κλικ στο κουμπί για να προβάλετε την εφαρμογή από το συμβάν onClick του κουμπιού στο παράθυρο κώδικα και, στη συνέχεια, προσθέστε τον ακόλουθο κώδικα:
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click AxWebBrowser1.Navigate(TextBox1.Text) End Sub
Αυτός ο κωδικός σας επιτρέπει να μεταβείτε στη διεύθυνση URL που καθορίζετε στο πλαίσιο κειμένου.
-
Προσθέστε τον ακόλουθο κώδικα για να γράψετε τη συνάρτηση χειρισμού για NewWindow2:
Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, _ ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) _ Handles AxWebBrowser1.NewWindow2 Dim frmWB As Form1 frmWB = New Form1() frmWB.AxWebBrowser1.RegisterAsBrowser = True e.ppDisp = frmWB.AxWebBrowser1.Application frmWB.Visible = True End Sub
-
Προσθέστε τον ακόλουθο κώδικα για να γράψετε τη λειτουργία του δείκτη χειρισμού για το WindowSetHeight:
Private Sub AxWebBrowser1_WindowSetHeight(ByVal sender As Object, _ ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetHeightEvent) _ Handles AxWebBrowser1.WindowSetHeight Dim heightDiff As Integer heightDiff = Me.Height - Me.AxWebBrowser1.Height Me.Height = heightDiff + e.height End Sub
-
Προσθέστε τον ακόλουθο κώδικα για να γράψετε τη λειτουργία του δείκτη χειρισμού για το WindowSetWidth:
Private Sub AxWebBrowser1_WindowSetWidth(ByVal sender As Object, _ ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetWidthEvent) _ Handles AxWebBrowser1.WindowSetWidth Dim widthDiff As Integer widthDiff = Me.Width - Me.AxWebBrowser1.Width Me.Width = widthDiff + e.width End Sub
Δείγμα κώδικα ολοκληρώθηκε
Public Class Form1 Inherits System.Windows.Forms.Form#Region " Windows Form Designer generated code " 'Omitted#End Region Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click AxWebBrowser1.Navigate(TextBox1.Text) End Sub Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, _ ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) _ Handles AxWebBrowser1.NewWindow2 'MessageBox.Show(AxWebBrowser1.Height & ":" & AxWebBrowser1.Width) 'MessageBox.Show(doc.body.innerHTML) Dim frmWB As Form1 frmWB = New Form1() frmWB.AxWebBrowser1.RegisterAsBrowser = True 'frmWB.AxWebBrowser1.Navigate2("about:blank") e.ppDisp = frmWB.AxWebBrowser1.Application frmWB.Visible = True 'MessageBox.Show(frmWB.AxWebBrowser1.Height & ":" & frmWB.AxWebBrowser1.Width) End Sub Private Sub AxWebBrowser1_WindowSetHeight(ByVal sender As Object, _ ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetHeightEvent) _ Handles AxWebBrowser1.WindowSetHeight 'MessageBox.Show("In SetHeight" & Me.Height & ":" & e.height) Dim heightDiff As Integer heightDiff = Me.Height - Me.AxWebBrowser1.Height Me.Height = heightDiff + e.height End Sub Private Sub AxWebBrowser1_WindowSetWidth(ByVal sender As Object, _ ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetWidthEvent) _ Handles AxWebBrowser1.WindowSetWidth 'MessageBox.Show("In SetWidth" & Me.Width & ":" & e.width) Dim widthDiff As Integer widthDiff = Me.Width - Me.AxWebBrowser1.Width Me.Width = widthDiff + e.width End SubEnd Class
Βεβαιωθείτε ότι λειτουργεί
-
Δημιουργία της εφαρμογής.
-
Ανοίξτε το Σημειωματάριο (Notepad). Δημιουργήστε ένα νέο αρχείο που ονομάζεται Test.htm και, στη συνέχεια, προσθέστε τον ακόλουθο κώδικα:
<HTML><HEAD><META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"><TITLE></TITLE><script>function openWin(){var win;win = window.open("http://www.microsoft.com","blah","width=600, height=600");}</script></HEAD><BODY><button onClick=openWin()>Open Window</button></BODY></HTML>
-
Αποθήκευση Test.htm στο διακομιστή σας Web.
-
Εκτέλεση της εφαρμογής.
-
Μεταβείτε στη σελίδα "Test.htm" και, στη συνέχεια, κάντε κλικ στο κουμπί. Παρατηρήστε ότι το εταιρικό Web ανοίγει σε νέο παράθυρο της εφαρμογής. Η φόρμα αλλάζει μέγεθος ανάλογα με τις δυνατότητες που θα διαβιβάζονται με την κλήση window.open.
Αναφορές
Για πρόσθετες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:
311284 ΔΙΑΔΙΚΑΣΙΕΣ: χειρισμού συμβάντων εγγράφων σε μια εφαρμογή της Visual Basic .NET
259963 ΔΙΑΔΙΚΑΣΙΕΣ: Αποκτήστε πλάτος και ύψος που δόθηκε Window.open εσωτερικό κεντρικό υπολογιστή WebBrowser Visual C++Για περισσότερες πληροφορίες σχετικά με το στοιχείο ελέγχου WebBrowser, καθώς και τις μεθόδους, τις ιδιότητες και τα συμβάντα που εκθέτει, ανατρέξτε στην ακόλουθη τοποθεσία της Microsoft στο Web:
Στοιχείο ελέγχου WebBrowser: Αναφορά για Visual Basic προγραμματιστέςhttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxΓια περισσότερες πληροφορίες σχετικά με την ανάπτυξη λύσεων που βασίζονται στο Web για τον Microsoft Internet Explorer, επισκεφθείτε τις ακόλουθες τοποθεσίες της Microsoft στο Web:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep