星期一, 12月 15, 2014

[C#] WebBrowser

整理上課筆記

一直覺的 WebBrowser 控件好像沒有甚麼實際用途,上課時老師有提到,實務上可以把 Web 上的最新消息,透過 WebBrowser 來顯示,這樣就不用設計 WinForm 版本介面
namespace WebBrowserDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Form 上每個控件的 Anchor 設定
            lblURL.Anchor = AnchorStyles.Left | AnchorStyles.Top;
            txtURL.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
            btnGO.Anchor = AnchorStyles.Top | AnchorStyles.Right;
            webBrowser1.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;

            // 顯示該電腦 IE 首頁並顯示在 txtURL 內
            webBrowser1.GoHome();
        }

        private void btnGO_Click(object sender, EventArgs e)
        {
            runURL();
        }

        private void txtURL_KeyUp(object sender, KeyEventArgs e)
        {
            // 使用者輸入完後,直接按 Entry 執行
            if (e.KeyCode == Keys.Enter) runURL();
        }

        private void runURL()
        {
            webBrowser1.Navigate(txtURL.Text);
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            // 使用者操作 WebBrowser 內連結時,必須把點擊的 URL 傳回 txtURL 內顯示
            string url = webBrowser1.Url.ToString();
            if (string.IsNullOrEmpty(url)) return;
            txtURL.Text = url;
        }
    }
}

執行程式會顯示 IE 首頁

[C#] WebBrowser-1

利用 Google 搜尋 Blog,可以看見 txtURL 會顯示現在的網址

[C#] WebBrowser-2
[C#] WebBrowser-3

沒有留言:

張貼留言