WebBrowser vào WPF

Bạn ước ao ứng dụng WPF của chúng ta có thể hiển thị được trang web thì phương án dễ dàng nhất đó là áp dụng control WebBrowser .

Bạn đang xem: Cách dùng webbrowser trong c#

Bạn rất có thể lấy WebBrowser từ vào Toolbox, hoặc chúng ta có thể dùng XAML:

Hoặc bạn có thể khai báo bằng ngữ điệu lập trình C# hay VB hầu hết được.

Khi áp dụng WebBrowser để hiển thị website thì điều quan trọng nhất là ta phải làm là cung cấp cho nó 1 URI. WebBrowser vẫn hiển thị trang web bằng thủ tục Navigate hoặc nằm trong tính Source.

1. Hiển thị trang web xem online

Ví dụ:

Muốn hiển thị trang web www.microsoft.com trên internet lên WebBrowser thì sống code XAML , chúng ta làm như sau:

Window x:Class=”WebBrowserWPF.MainWindow”

xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”

xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”

Title=”MainWindow” Height=”310″ Width=”404″ Loaded=”Window_Loaded”>

Grid>

WebBrowser Margin=”21,12,23,12″ Name=”webBrowser1″ Source=”http://www.microsoft.com” />

Grid>

Window>

Hoặc bạn có thể lập trình bằng ngữ điệu lập trình như C#, nạm thể hoàn toàn có thể thử viết trong sự khiếu nại Window_Loaded như sau:

private void Window_Loaded(object sender, RoutedEventArgs e)

webBrowser1.Navigate(new Uri(“http://www.microsoft.com“));

Để mang đến đẹp thì bạn có thể để WindowState của Window (bên WinForm call là Form, còn WPF là Window) là Maximized

Chạy demo nào!

*

Vậy là các bạn đã có thể áp dụng những nhân tài cơ bản của control WebBrowser. Nếu kết hợp xuất sắc kiến thức giải pháp xử lý chuỗi, các bạn cũng có thể viết 1 vận dụng Web Browser nho nhỏ cho mình rồi đấy. Các bạn có thể tham khảo bài viết sau về cách Xây dựng website Browser với C# của anh Phạm Phương Nguyên, MSP Đại học tập Mở Tp.HCM:

2. Hiển thị trang local web

Đó là xem online, hiện giờ ta lại muốn hiển thị trang web local thì như thế nào?

Trước tiên, mình sẽ trả lời cách thêm một WebSite ASP .NET vào Solution của Project WPF : vào tệp tin showroom New website Site nếu như muốn tạo new hoặc Existing web Site sử dụng Web Site gồm sẵn …

Sau khi thêm xong, ở cửa sổ Solution Explorer sẽ mở ra Web Site mới thêm, ví dụ ở chỗ này Web Site tên là WebSite2:

*

Sau khi hoàn tất Web Site thì bây chừ mình đang lấy URI của web Site đó. Cách dễ dàng là bạn cứ nhấp phải vào web Site bên trên Solution Explorer lựa chọn View in Browser . Trình phê chuẩn Web mang định đã hiển thị trang web .Ta chỉ cần copy lại URI bên trên Browser. Ví dụ:

http://localhost:55403/WebSite2/

Công việc tiếp theo ta làm là hiển thị lên WebBrowser trong ứng dụng WPF của ta.

WebBrowser Margin=”21,12,23,12″ Name=”webBrowser1″ Source=”http://localhost:55403/WebSite2/” />

*

Ngoài ra, chúng ta cũng có thể chọn URI mang lại Web Page cụ thể trong web Site .

3. Điều khiển tiến hành Script bên trên WebBrowser

Phần cuối cùng, bạn thích chia sẻ cũng chính là 1 tài năng làm câu hỏi của WebBrowser. Đó là tinh chỉnh và điều khiển thực thi Script bên trên Web. Có nghĩa là mình sẽ lập trình cho control của vận dụng WPF điều khiển chạy Script.

Phương thức đặc biệt quan trọng ở đó là phương thức InvokeScript: đó là phương thức của WebBrowser điều khiển và tinh chỉnh chạy 1 script function (hàm trong script) trên 1 web sẽ load lên ; nhấn tham số đầu tiên là tên của script function bên dưới dạng string, những tham số tiếp theo của InvokeScript là các tham số mang lại script function (nếu tất cả và cũng sinh hoạt dạng string).

Ví dụ :

Yêu cầu:

Ứng dụng có một WebBrowser cùng 1 ComboBox.

Khi Window load lên thì WebBrowser sẽ hiển thị trang local web như mục 2.

Xem thêm: Người Tình Kim Cương : Tập 40, Xem Phim Người Tình Kim Cương Full Hd

Về phía ComboBox, khởi chế tác sẵn tòa tháp là những màu: đỏ, vàng, xanh…

Khi chọn 1 màu của ComboBox thì màu nền của dòng chữ WELCOME to ASP.NET bên trên Web sẽ thuộc đổi theo.

Lưu ý: Trong website có viết Script function là 1 trong những hàm làm trách nhiệm đổi color nền cái chữ WELCOME to ASP.NET! với màu là tham số của hàm.

Thực hiện:

Trước tiên xây dừng giao diện:

*

WebBrowser và thao tác hiển thị trang local web y hệt như mục 2.

ComboBox chỉ bài toán kéo thả từ cửa sổ ToolBox với thêm các Item trong cửa sổ Properties.

Ta được như sau:

*

Sau đó, ta đã vào website để thêm đoạn Script để chuyển màu sắc nền mẫu WELCOME to lớn ASP.NET! bởi tham số truyền vào hàm.

Ví dụ như tại đây mình viết JavaScript:

script type=”text/javascript”>

function ChangeColor(color)

var v = document.getElementById(“id_welcome”);

v.style.backgroundColor = color;

script>

id_welcome là 1 trong ID mình đặt cho mẫu WELCOME lớn ASP.NET!

Đây là toàn thể source của trang Default.aspx


Page Title=”Home Page” Language=”C#” MasterPageFile=”~/Site.master” AutoEventWireup=”true”

CodeFile=”Default.aspx.cs” Inherits=”_Default” %>

asp:Content ID=”HeaderContent” runat=”server” ContentPlaceHolderID=”HeadContent”>

script type=”text/javascript”>

function ChangeColor(color)

var v = document.getElementById(“id_welcome”);

v.style.backgroundColor = color;

script>

asp:Content>

asp:Content ID=”BodyContent” runat=”server” ContentPlaceHolderID=”MainContent”>

h2 id=”id_welcome”>

Welcome lớn ASP.NET!

h2>

asp:Content>

Bây giờ còn sót lại là việc setup cho sự khiếu nại SelectionChanged của ComboBox thôi.

Tại bối cảnh Design của Window, double click vào ComboBox , môi trường Visual Studio sẽ tự sinh code SelectionChanged và đưa ta đến giao diện code. Thời gian này, ta chỉ câu hỏi gọi thủ tục InvokeScript của WebBrowser .Tham số thứ nhất là “ChangeColor” – thương hiệu hàm javascript cơ hội nãy ta viết. Tham số thứ 2 truyền vào mang đến hàm ChangeColor chính là nội dung cửa nhà của ComboBoxItem.

private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)

webBrowser1.InvokeScript(“ChangeColor”, ((ComboBoxItem)comboBox1.SelectedItem).Content.ToString());

Lưu ý: câu chữ ComboBoxItem lúc viết : (ComboBoxItem)comboBox1.SelectedItem).Content.ToString()comboBox1.SelectedItem.ToString() là không giống nhau. Bạn cũng có thể xuất ra MessageBox để kiểm thử.

Chạy lịch trình , lựa chọn thử các Item vào ComboBox với xem hiệu quả trên WebBrowser: