using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace 浏览器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.Navigate(txtAddress.Text);
} private void toolStripButton5_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(txtAddress.Text);
} private void toolStripButton1_Click(object sender, EventArgs e)
{
webBrowser1.GoBack();
} private void toolStripButton2_Click(object sender, EventArgs e)
{
webBrowser1.GoForward();
} private void toolStripButton4_Click(object sender, EventArgs e)
{
webBrowser1.Refresh();
} private void toolStripButton3_Click(object sender, EventArgs e)
{
webBrowser1.Stop();
} private void address_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
webBrowser1.Navigate(txtAddress.Text);
} } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("将关闭窗口!");
Application.Exit();
} private void baidu_Click(object sender, EventArgs e)
{
//search.Text;
} private void address_Click(object sender, EventArgs e)
{
txtAddress.Focus();
txtAddress.SelectAll();
} private void search_Click(object sender, EventArgs e)
{
search.Clear();
search.Focus();
} private void btnNewPage_Click(object sender, EventArgs e)
{
TabPage tp = new TabPage();
WebBrowser wb = new WebBrowser();
tp.Controls.Add(wb);
wb.Dock = DockStyle.Fill;
tap.Controls.Add(tp);
tap.SelectedTab = tp;
tp.Text = "新页面"; }
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
pbWb.Visible = false;
} private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
if (e.MaximumProgress == )
{
return;
}
pbWb.Visible = true;
//这个才是真的进度条,不是你说+10就可以的
//这个就是进度条 我要改名 命名说了要规范 你的名字都没改 你干嘛?你那个是假进度你不知道?101010101010这是什么
//pbWb.Maximum = 100;
//var value =Convert.ToInt32( e.CurrentProgress / e.MaximumProgress*100); //算百分比
// pbWb.Value = value; if ((e.CurrentProgress > ) && (e.MaximumProgress > ))
{ pbWb.Maximum = Convert.ToInt32(e.MaximumProgress);//设置正在加载的文档总字节数 pbWb.Step = Convert.ToInt32(e.CurrentProgress);////获取已下载文档的字节数 pbWb.PerformStep(); } else if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)//加载完成后隐藏进度条
{ pbWb.Value = ; pbWb.Visible = false; }
}
//这样我们就可以构造一个创建窗口的方法
private void CreateNewTab(string name)
{
TabPage tp = new TabPage(name);//创建一个tabpage
tap.TabPages.Add(tp);//新增一个tabpage 加刚才创建的
WebBrowser wb = new WebBrowser();//这个意思就是 把webbrower 用wb 代替不?新建一个wb控件
wb.Dock = DockStyle.Fill;//设置填充整个父容器
tp.Controls.Add(wb);//把webbrowser放入tabpage里
tap.SelectedTab = tp;//激活当前
} private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
//kasi le
if (e.Url.Equals(new Uri(txtAddress.Text)))
{
return;
}
MessageBox.Show("可以创建心的窗体 你想要的样子 自己开发吧 ,太卡了 。。。。。");
} }
} /*
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{ pbWb.Visible = false; } private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
if (e.MaximumProgress == 0)
{
return;
}
pbWb.Visible = true;
//这个才是真的进度条,不是你说+10就可以的
//这个就是进度条 我要改名 命名说了要规范 你的名字都没改 你干嘛?你那个是假进度你不知道?101010101010这是什么
//pbWb.Maximum = 100;
//var value =Convert.ToInt32( e.CurrentProgress / e.MaximumProgress*100); //算百分比
// pbWb.Value = value; if ((e.CurrentProgress > 0) && (e.MaximumProgress > 0))
{ pbWb.Maximum = Convert.ToInt32(e.MaximumProgress);//设置正在加载的文档总字节数 pbWb.Step = Convert.ToInt32(e.CurrentProgress);////获取已下载文档的字节数 pbWb.PerformStep(); } else if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)//加载完成后隐藏进度条
{ pbWb.Value = 0; pbWb.Visible = false; }
}
//这样我们就可以构造一个创建窗口的方法
private void CreateNewTab(string name)
{
TabPage tp = new TabPage(name);//创建一个tabpage
tap.TabPages.Add(tp);//新增一个tabpage 加刚才创建的
WebBrowser wb = new WebBrowser();//这个意思就是 把webbrower 用wb 代替不?新建一个wb控件
wb.Dock = DockStyle.Fill;//设置填充整个父容器
tp.Controls.Add(wb);//把webbrowser放入tabpage里
tap.SelectedTab = tp;//激活当前
} private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
if (e.Url.Equals(new Uri(txtAddress.Text)))
{
TabPage tp = new TabPage();
WebBrowser wb = new WebBrowser();
tp.Controls.Add(wb);
wb.Dock = DockStyle.Fill;
tap.Controls.Add(tp);
tap.SelectedTab = tp;
tp.Text = "新页面"; }
MessageBox.Show("123");
return;
}
}
} */

【C#】浏览器源代码的更多相关文章

  1. Android简单文件浏览器源代码 (转)

    Android简单文件浏览器源代码 (转) activity_main .xml <LinearLayout xmlns:android="http://schemas.android ...

  2. Mac 系统 + Chrome浏览器 网页前端出现中文文字反转或顺序错乱

    问题背景 React开发的系统,收到一个BUG反馈,*"号个人统计"文字不正确,应为"个人号统计"*. 收到BUG后,打开浏览器查验是什么情况,难道犯了最基本的 ...

  3. NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用

    一.Netscape Plugin Interface(NPAPI) 大致的说明可以看下官方文档Plugin 本文主要针对于JavaScript与插件交互部分做一些交流,比如用于数字证书的操作(淘宝和 ...

  4. JAVA上百实例源码以及开源项目

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...

  5. FineUIMvc随笔 - 不能忘却的回发(__doPostBack)

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户反馈 有网友在官方论坛抛出了这么一个问题,似乎对 FineUIMvc 中的浏览器端与服务器端的交互方式很有异议. 这里面的关 ...

  6. PHP基础(2)

     测试模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. Web browser发展演变

    浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件.网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML.大 ...

  8. Angular 开发小妙招1:提交表单数据验证不通过,更改输入组件的样式

    开发表单时,客户端数据完整性校验是必不可少的,在jquery 时代出现了无数的数据验证插件也很好用,开发Angular 应用时,angular 内置了一些常用的数据验证指令.今天要讲的不是这些指令如何 ...

  9. FineUIMvc随笔(3)不能忘却的回发(__doPostBack)

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户反馈 有网友在官方论坛抛出了这么一个问题,似乎对 FineUIMvc 中的浏览器端与服务器端的交互方式很有异议. 这里面的关 ...

随机推荐

  1. [转]Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解

    一.Linux服务器上11种网络连接状态: 图:TCP的状态机 通常情况下:一个正常的TCP连接,都会有三个阶段:1.TCP三次握手;2.数据传送;3.TCP四次挥手. 注:以下说明最好能结合”图:T ...

  2. java的final关键字——修饰变量

    final修饰的变量不可变,指的是引用不可变,(除基本类型)而不是内容. final修饰的成员变量必须被初始化

  3. MTK 永不熄屏

    步骤一: 源码/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 修改<integername=</int ...

  4. android:versionCode和android:versionName 用途(转)

    转自:http://blog.csdn.net/wh_19910525/article/details/8660416 Android的版本可以在androidmainfest.xml中定义,主要有a ...

  5. Java实现文件批量重命名

    Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应 ...

  6. Java -- 获取MAC地址

    啦啦啦 package com.xindatai.common.util; import java.io.InputStream; import java.util.regex.Matcher; im ...

  7. Myecplise反编译工具安装

    我使用的是Myecplise8.5 下载jad.exe文件jad158g.win.zip:http://varaneckas.com/jad/ 下载jadeclipse插件 net.sf.jadcli ...

  8. [WallProxy] WallProxy

    1. 在Linux/Ubuntu平台导入CA.crt证书. 1.1. 首先安装libnss3-tools:sudo apt-get install libnss3-tools. 1.2. 导入证书:c ...

  9. Bugly最简单的配置方法

    1,注册Bugly帐号 2.项目 build.gradle 中配置 compile 'com.tencent.bugly:crashreport:latest.release'//其中latest.r ...

  10. LinQ的初步学习与总结

    嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单 ...