Lý Tự Trọng ITCÔNG NGHỆ PHẦN MỀMChia Sẽ Project
[C#, .NET 3.5] Tự tạo trình duyệt web đơn giản - Spider Web v2 CSharp


Trang: [1]   Xuống
In
Chủ đề: [C#, .NET 3.5] Tự tạo trình duyệt web đơn giản - Spider Web v2 CSharp  (Đọc 2797 lần)
0 Thành viên và 1 Khách đang xem chủ đề.
Nam  Offline

¤ FIOENIX ¤
♥ Cộng Tác Viên ♥
Full Member
*****
¤ FIOENIX ¤
Điểm: 102
MSSV: 06104143
Lớp: 06CĐTP4
Tên: Tăng Duy Phương
Bài viết: 225
Cảm Ơn: 12
Được Cảm Ơn: 10
Độ Hoạt Động: 0%


593667841 fioenix@hotmail.com Fioenix studentshop.info
Email
« vào lúc: 06-Th12-2009, 09:11 PM »

Nếu dạo vài vòng trên mạng chắc các bạn sẽ tìm được một cái source của một trình duyệt web đơn giản được viết bằng VB.Net sử dụng nhân IE có tên là Spider Web phiên bản 2.0

Nhằm giúp các bạn rèn luyện thêm về kỹ thuật lập trình C# - Windows Application, Fio mở project này để chúng ta cùng nhau làm một Spider Web v2.0


Current Source:

   
 

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}

Spider_Web_v2.0_CSharp.7z

 
sharedownload.org

Lưu ý mình sử dụng VS 2010 do đó nếu các bạn không mở project được thì hãy tạo project mới và add các file vào sau nhé 3

1. Download Resource Images

Trước hết, download mấy cái ảnh về đã nào 4

   
 

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}

 
sharedownload.org

Mấy cái ảnh này sẽ dùng cho giao diện nó đẹp tý vậy mà ^^. Download xong thì giải nén vào đâu đó, mình đặt ở Desktop chẳng hạn.

2. Create Project

Tạo project đặt tên là Spider Web v2.0 CSharp.

3. Add Resource Images

Expand thư mục Properties của project, trong đó bạn sẽ thấy Resources.resx, right click vào nó và chọn Open.

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}


Tab Resources.resx hiện ra, chọn Add Resource -> Add Existing File...

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}


Tìm tới thư mục Resources đã giải nén ở trên, ở combox box File filter (ngang với File name) chọn là Bitmap, bạn sẽ nhìn thấy các file ảnh trong thư mục Resources, chọn tất cả chúng rồi click Open

4. Design Skin

Trên Form1:

- Đổi Name thành frmMain

- Đổi Text thành Spider Web v2.0 CSharp

Kéo thả vào một cái MenuStrip:


- Name: mnuMain
- Text: Main Menu
- Xây dựng menu như sau:
  • File: New Window
  • Edit
  • View: History
  • Tools: Settings
  • Help: About

Kéo thả vào một cái ToolStrip:


- Name: tlsToolBar
- Text: Tool Bar
- Trên ToolStrip lần lượt add các control theo thứ tự sau (với mỗi control là Name, Text của nó):
  • 1 Button: btnBack, Go back on page
  • 1 Button: btnForward, Go forward on page
  • 1 Button: btnReload, Reload current page
  • 1 Button: btnStop, Stop loading this page
  • 1 Button: btnHome, Go to home page
  • 1 Label: lblAddress, Address:
  • 1 Textbox: txtAdress, about:blank

Lưu ý ở đây không phải kéo thả các control vào ToolStrip, mà trên ToolStrip bạn thấy nó có một cái nút với điểm sáng màu vàng, đưa mouse vào thì nó hiện Add ToolStripButton, click vào cái mũi tên màu đen nhỏ cạnh bên sẽ thấy các control đã nêu trên, việc còn lại là click chọn để add theo thứ tự.

Sau đó thay đổi một số property của các control này để được giao diện tương tự như sau (tự tìm hiểu nhé ^^):

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}


Kéo thả vào một cái WebBrowser:

- Name: webBrowser

Kéo thả vào một cái Status Strip:

- Name: stsStatusBar
- Text: Status Bar
- Trên nó cũng add vào các control sau (add tương tự như đối với Toolbar):
  • 1 Label: lblStatus (lưu ý Text bỏ trống và Spring là true)
  • 1 Progress Bar: prbProgress

Vậy là chúng ta đã hoàn thành phần giao diện:

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}
« Sửa lần cuối: 05-Th04-2010, 02:19 AM gửi bởi ¤ FIOENIX ¤ » Logged

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}
Nam  Offline

¤ FIOENIX ¤
♥ Cộng Tác Viên ♥
Full Member
*****
¤ FIOENIX ¤
Điểm: 102
MSSV: 06104143
Lớp: 06CĐTP4
Tên: Tăng Duy Phương
Bài viết: 225
Cảm Ơn: 12
Được Cảm Ơn: 10
Độ Hoạt Động: 0%


593667841 fioenix@hotmail.com Fioenix studentshop.info
Email
« Trả lời #1 vào lúc: 09-Th12-2009, 10:29 PM »

Bây giờ đến phần quan trọng hơn là code. Với phần này mình sẽ trình bày theo từng chức năng cụ thể và sẽ giải thích ý nghĩa một số đoạn code cho các bạn dễ theo dõi.

1. Trình duyệt web theo địa chỉ
{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}

Diễn Giải:
  • Method Navigate: Khi cần trình duyệt web với url nào thì sử dụng method Navigate của WebBrowser với tham số truyền vào là url. Method này có 7 overload, bạn có thể tìm hiểu thêm tại: {Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}
  • e.KeyChar == 13: Trong đó 13 là code của ký tự ENTER, đoạn mã trên được hiểu là nếu nhấn phím ENTER thì trình duyệt trang web
  • webBrowser_ProgressChanged: Đây là method xử lý của event ProgressChanged. Sự kiện này nắm bắt một WebBrowserProgressChangedEventArgs mà thông qua đó ta có thể truy xuất được giá trị độ xử lý lớn nhất (kiểu dữ liệu long) và điểm xử lý hiện tại (kiểu dữ liệu long) đối với một trang web đang được trình duyệt.
  • webBrowser_StatusTextChanged: Đây là method xử lý của event StatusTextChanged. Sự kiện này nắm bắt sự thay đổi của property StatusText. Dường như, sự kiện này không hiển thị trong danh sách sự kiện?! Nếu bạn không tìm thấy nó trong danh sách sự kiện hãy mở file frmMain.Designer.cs, trong vùng Windows Form Designer generated code tìm // webBrowser và bổ sung vào đó
{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}

Các bạn biết rằng, mối website thông thường đều có một domain trỏ đến nó, nếu bạn nhập vào một địa chỉ không đúng theo URL Pattern chắc chắn bạn sẽ không truy cập được một website nào đó. Ở đây mình sẽ hướng dẫn các bạn bẩy lỗi này (bắt buộc người sử dụng nhập đúng URL Pattern.

Hãy tạo một class đặt tên là GeneralValidation và code như sau:

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}

Ở đây các bạn thấy mình using System.Text.RegularExpressions; và sử dụng class Regex trong nó. Vậy RegularExpressions là gì?

Regular Expressions nếu dịch ra tiếng Việt có thể gọi là Biểu thức thường thức hoặc Biểu thức chính quy, hiểu một cách đơn giản Regex đưa ra một định dạng cho một chuỗi ký tự. Ví dụ: Email Address, URL, Phone Number... là các loại chuỗi cần có một định dạng đúng theo quy ước, nên người ta sử dụng Regex để kiểm tra xem chuỗi ấy có đúng dạng quy ước không.

Nếu nghiên cứu sâu về Regex thật sự bạn sẽ cảm thấy chóng mặt vì sự phức tạp của nó 4, vì bài này chủ yếu là cơ bản và bản thân mình cũng chưa đủ quen thuộc với Regex do đó nếu bàn luận sâu có thể mình sẽ đưa ra các thông tin không chuẩn xác. Bạn cũng chớ lo lắng, với Google bạn hoàn toàn có thể tìm ra các Regex mà mình cần 4

Ở trên ta sử dụng Regex để kiểm tra xem một chuỗi có phải là một Email hay là một URL không.

Bây giờ ta cập nhật code đã viết nhé:

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}
« Sửa lần cuối: 30-Th12-2009, 11:40 PM gửi bởi ¤ FIOENIX ¤ » Logged

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}
Nam  Offline

¤ FIOENIX ¤
♥ Cộng Tác Viên ♥
Full Member
*****
¤ FIOENIX ¤
Điểm: 102
MSSV: 06104143
Lớp: 06CĐTP4
Tên: Tăng Duy Phương
Bài viết: 225
Cảm Ơn: 12
Được Cảm Ơn: 10
Độ Hoạt Động: 0%


593667841 fioenix@hotmail.com Fioenix studentshop.info
Email
« Trả lời #2 vào lúc: 30-Th12-2009, 11:47 PM »

2. Cơ bản hoàn thành

Bây giờ chúng ta code vài cái linh tinh nữa 4, vậy là mình đã cơ bản hoàn thành một trình duyệt web cá nhân rồi 21

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}
« Sửa lần cuối: 05-Th04-2010, 02:23 AM gửi bởi ¤ FIOENIX ¤ » Logged

{Bạn không được phép thấy nội dung này. Vui lòng ĐĂNG KÝ / ĐĂNG NHẬP}
Offline

nhimcoi30889
Newbie
*
nhimcoi30889
Điểm: 1
MSSV: 0241060147
Lớp: KHMT2
Tên: Tran Van Trung
Bài viết: 1
Cảm Ơn: 1
Được Cảm Ơn: 0
Độ Hoạt Động: 0%


Email
« Trả lời #3 vào lúc: 04-Th04-2010, 03:50 PM »


Bạn ơi! link die rồi. bạn fix lại link giúp mình cái.thanks..........

Post Merge: 05-Th04-2010, 12:31 PM
Link đã  fix:http://www.mediafire.com/file/3zmdaqq1jco/C#.rar
« Sửa lần cuối: 05-Th04-2010, 12:31 PM gửi bởi nhimcoi30889 » Logged
Offline

love.yugi
Newbie
*
love.yugi
Điểm: 1
MSSV: 07D0040096
Lớp: 12a1
Tên: điêp
Bài viết: 1
Cảm Ơn: 2
Được Cảm Ơn: 0
Độ Hoạt Động: 0%


Email
« Trả lời #4 vào lúc: 04-Th03-2011, 05:35 PM »


Bạn share link lại nhé! link die rùi!
Thanks
Logged
Trang: [1]   Lên
In

Chuyển tới: