扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:John Kennedy 来源:Microsoft 开发人员网络 2007年10月28日
关键字: 概述 Browser Express web Linux
当该程序启动后,它所做的第一件事是调用 Create_a_new_tab()。此方法创建一个新选项卡页,将其添加到 TabControl,然后在其上创建一个 WebBrowser 控件。WebBrowser URL 被设定为“主页”,无论它在您的系统上可能是什么。下面是创建新选项卡的代码:
// Create a new Tab Page TabPage newpage = new TabPage("Loading..."); tabControl1.TabPages.Add(newpage);
这是创建新 WebBrowser 控件的代码:
// Create a new WebBrowser control. WebBrowser webpage = new WebBrowser(); webpage.Parent = newpage; webpage.Dock = DockStyle.Fill; webpage.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webpage_DocumentCompleted); webpage.GoHome();
此代码确定 WebBrowser 的父级是 Tab 页。它还用设置为 Fill 的 Dock 来确定它也保持在窗口的实际大小。我们还添加了一个事件处理程序:控件通过将消息发送到您的程序来工作。您可以选择您所聆听的消息,以及通过将事件处理程序链接到消息所调用的方法。在本例中,该消息告诉我们 WebControl 已经完成了站点的加载和显示,当完成任务时,它将调用名为 webpage_DocumentComplete() 的方法。这允许我们定义当网页加载完毕时执行的代码。例如,停止动画。
Create_a_new_tab() 方法中的最后一行启用计时器:
timer1.Enabled = true;
计时器轻松地将小段消息发送到 timer1_tick(),它改变在 PictureBox 控件中显示的图像,如下所示:
private void timer1_Tick(object sender, EventArgs e) { // This method is called by the timer, and we use it to update the // image displayed by the PictureBox control to create a simple // animation. image_animation++; if (image_animation > 10) image_animation = 0; switch (image_animation) { case 0: pictureBox_busy.Image = wbe.Properties.Resources.anim0; break; case 1: pictureBox_busy.Image = wbe.Properties.Resources.anim1; break; case 2: pictureBox_busy.Image = wbe.Properties.Resources.anim2; break; ... case 7: pictureBox_busy.Image = wbe.Properties.Resources.anim7; break; case 8: pictureBox_busy.Image = wbe.Properties.Resources.anim8; break; case 9: pictureBox_busy.Image = wbe.Properties.Resources.anim9; break; } }
您可以看到,计时器每次激发时,在 PictureBox 中就会显示一个不同的图像。使用您将一个图像分配到按钮或 PictureBox 控件时显示的对话框,从磁盘加载图像。
程序的其余部分由事件驱动 — 当用户单击按钮或者输入一个 Web 地址或搜索字符串时调用特定方法。
例如,Web 导航按钮都调用当前 WebBrowser 控件。例如,如果您单击 Back 按钮,会调用以下方法:
private void button_back_Click(object sender, EventArgs e) { // Go Back - if the web control can go back, do it. WebBrowser thiswebpage = GetCurrentWebBrowser(); if (thiswebpage.CanGoBack) thiswebpage.GoBack(); }
当在 Address 组合框中输入一个 URL 时,我们使用 Web 控件的 navigate 方法来获取并显示该页。下面的代码使用了当前显示在组合框中的文本并将其传递到 navigate 方法:
WebBrowser thiswebpage = GetCurrentWebBrowser(); thiswebpage.Navigate(comboBoxurl.Text); timer1.Enabled = true;查看本文来源
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者