小白C#窗体系列-01.简易浏览器

最近重伤,今天正好放假,就抽个空出C#第一集,开发完毕。。。 如果你看不到这篇文章,那过一天就可以看见了。

软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1c03X7vM【源码看下面】

一、设计图纸:

二、代码分析

1.后退键、 前进键、停止键、刷新键:
这几个功能本来我是准备用个数组来存储,可以前进后退的,后来啃他自带方法的时候发现微软提供了方法,也就偷个懒了
后退按钮 this.webBrowser1.GoBack(); 
前进按钮 this.webBrowser1.GoForward();

停止按钮 this.webBrowser1.Stop(); 
刷新按钮 this.webBrowser1.Refresh();

2.跳转功能
因为经常用,所有就封装了2个方法

public void GetUrl()

{

url = TxtUrl.Text.Trim();//去除空格

if (url.Length > 0)//输入不能为空

{

ReUrl(url);

}

}

public void ReUrl(string url)

{

try

{
                //去除空格后看看开头有没有http://之类的东西

if (url.Trim().StartsWith("http://") || url.Trim().StartsWith("ftp://") || url.Trim().StartsWith("https://"))

{

webBrowser1.Url = new Uri(url);//网页开始跳转了

TxtUrl.Text = url;//把地址栏的文本也改变掉

}

else//没有的化就得帮你加

{

url = "http://" + url;

webBrowser1.Url = new Uri(url);

TxtUrl.Text = url;

}

}

catch

{

MessageBox.Show("亲,看看地址有没有问题~~","逆天友情提醒");

}

}

3.按回车键实现跳转功能
这个用到了一个事件,也就是按键触发的事件

if (e.KeyCode == Keys.Enter)

{

GetUrl(); //自定义跳转方法

}

4.电脑模式浏览和手机模式浏览
其实这个就是个思路,我也不知道别人是怎么弄的,我是以www开头的是电脑访问,以wap开头是是手机访问
代码也贴一下吧:
    ①电脑模式:

string url = TxtUrl.Text.Trim().Replace("wap.", "www.");

ReUrl(url);//自定义的访问方法
     ②手机模式:

string url = TxtUrl.Text.Trim().Replace("www.", "wap.");

ReUrl(url);

5.护眼的夜间模式
本来我是准备用反色来弄的,比如设置背景为黑,字体为白,后来发现webBrowser不怎么支持,就猥琐了一下
看代码:

this.webBrowser1.Document.BackColor = Color.Black;

this.webBrowser1.Document.ForeColor = Color.DarkCyan; (1.1会有更强大的夜间模式的)

6.源码下载(右上角那个房子的图标)
其实这个就是用的线程启动来实现打开你的默认浏览器来访问我现在的这篇文章
贴下代码:
System.Diagnostics.Process.Start("http://user.qzone.qq.com/1054186320/blog/1406614480");

7.获取cookies(这次没弄,就简单调用微软的方法)
贴下代码:(1.1中会强化的) 
TxtUrl.Text = this.webBrowser1.Document.Cookie.ToString();     
你们自己添加一下,cookies为空会出现异常的处理,try catch 一下
 
8.??让网页内容在软件中打开(本次项目中最另我蛋疼的东西)
当你跳转到网站里面的时候随便点哪个超链接,他都会从ie打开,我就想是不是默认是从新的窗体打开?后来去网上查了下,代码贴下:
阻止在ie中打开,在自身中打开(webbrowser的NewWindow事件中)

e.Cancel = true;//阻止在ie中打开

//将所有的链接的目标,指向本窗体

foreach (HtmlElement archor in this.webBrowser1.Document.Links)

{

archor.SetAttribute("target", "_self");

}

//将所有的FORM的提交目标,指向本窗体

foreach (HtmlElement form in this.webBrowser1.Document.Forms)

{

form.SetAttribute("target", "_self");


  
9.暂时没了吧,具体看源码吧,我源码注释写的很详细的,耐心点看是可以看懂的

~~~软件中有一下缺憾,1.1版本中会美化完善的~~~
1.???地址栏自动填充(美化)
2.???网页截图
3.??更强大的cookies获取功能
4.??收藏夹
5.??地址栏地址自动变换
6.??更强大的夜间模式
7.???屏蔽部分脚本提示
等等

三、源码分享  http://pan.baidu.com/s/1bnGQOsn

四、视频共享(下次录吧,身体吃不消了)

【以后视频都是先简单带大家做个简易版本,然后再讲解下我的代码。。。】
①主要原因:我一周就星期二和星期六有时间,还有一些其他的事情要做;
②加上这个美工什么的太浪费时间了,比如这个软件,我美工就花了2h,打代码也不过就2h而已;
③逆天说过目前来说我的所有软件和教程都是免费的,没什么人支持也就不想去浪费这个时间;其实熟悉我的人都知道我在学校期间就开放过很多小软件,每个都是免费的,但一般都是1.0,1.1等版本的,很少有2.0版本的,也就个逆天簿是2.0版本,不是什么,也就没什么人支持我,或者我感受不到,所以我开放的东西够我自己用就够了,也就不高兴去开放新版本了。。。(有需求都可以和我说的,我现在帮人开放的软件我都不收费的。。。)
④自学能力真的很重要, webBrowser我也是第一次接触,然后花半天时间捣鼓,看vs自带的方法也差不多掌握了,掌握了之后就可以自己编些小东西了其实没什么的,加油亲~~~

本期推荐:C#面向对象(很不错的一套教程)                                 下一期:打造自己的二维码生成器

小白C#窗体系列-01.简易浏览器,布布扣,bubuko.com

时间: 2024-10-27 05:37:42

小白C#窗体系列-01.简易浏览器的相关文章

小白C#窗体系列-02.二维码生成器

今天是情人节,咳,男人们带着他们的男朋友们,女人带着她们的女朋友们愉快的逛着街.逆天也就不随大众了,就继续出C#小白系列的教程了~~~ 实在没空去录教程了,就看看文档吧,大家都知道的,录教程是比较花时间的,我不想草草了事,那是对大家和我自己的不负责,视频可以以后再录,不过软件和源码以及文档得先弄好,毕竟逆天不喜欢失信与自己~~ 废话不说了,开始我们的教程吧~ 软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1i3BUVNv[源码看下面] 一.设计图纸: 二.代码分

小白C#窗体系列-03.图片查看器

新增拖拽功能 如果出现看不见的情况明天就好了,好了我们步入正题,作为一个吊丝,如果你用你女朋友/女神的照片做了个图片浏览器,那么你每次用来看图的时候第一张看的都是她了,当看到第二张你想看见的图时,是不是有个鲜明的对比呢,是落差还是什么的,就因人而异咯~~又开始想入非非了?哈哈,不扯淡了,继续:4步走~~~ 软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1i387wJ7  [源码看下面] 逆天图片查看器1.0.1 下载   http://pan.baidu.com

小白C#窗体系列-04.点名系列的小系统

这个东西其实是最简单的东西了,一个随机数一个集合一个timer控件就搞定了.本来不想写这一期的,后来有个哥们跟我说他在网上买了个抽奖系统花了几百块钱....软件发过来我一反编译...当时我就愣了...一个猥琐的非人类就这样坑了一个好骗的人类...        步入正题,逆天今天给大家带来的是点名抽奖系列的小系统,为了普遍性和简易性就没有写死直接用一个txt记录(其实写死的程序也可以改变他的一些内容,在本章节的最后会给大家一个小工具[C32Asm]) 软件下载(.NET 4.0 框架)http:

小白C#窗体系列-08小议Base64+MD5加密

啥是Base64呢?怎么说呢,这个加密比较常用,想想迅雷的下载地址,想想QQ旋风和快车.他们就是用的这个Base64来加密地址,现在网上很多地址解析器,原理就是反Base64.        Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24 位数据,再把这24位数据分成4组,即每组6位.再在每组的的最高位前补两个0凑足一个字节.这样就把一个3字节为一组的数据重新编码成了4个字节.当所要编码的数据的字节

小白C#窗体系列-09.SHA系列加密

SHA系列加密,SHA512安全是安全,但位数太长了,很少有人用它加密密码,下面我就简单介绍一下SHA和一些变种加密(SHA512也会用进去的) 程序跟国际化接轨,都是用的UTF-8编码格式 (如果有比我还菜的鸟写出相同的加密方式得到的密文不同,如果要质疑的话,先把编码看一下,不同编码产生密文是不同的) 提供另一种思路(下期会讲):在多重加密的过程中反复变化编码...自己想象去吧~ 这个是SHA-1的加密写法,和MD5一样的 也许有人会问,那个for循环怎么没了?我这边用的是官方提供的方法,fo

小白C#窗体系列-07.打造自己的C#远控系列软件

软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1mg6z1MC [源码看下面] 防止有人恶意利用,我发的是最原始版本,强化版没敢发 一.设计图纸:(更多在于思路) 二.代码分析: 1.服务器     ①监听Socket //启动的时候执行Server_Load事件 Control.CheckForIllegalCrossThreadCalls = false;  //关闭跨线程检测 //创建一个监听Socket --第一个参数是IPV4,第二个是选的流式传输,第

小白C#窗体系列-12.逆天代码生成器

有些代码重复劳动,用网上的代码生成器太烦了,很多代码都存在明显的注入漏洞,很多代码风格都不适合自己...于是就花了一个上午写了个代码生成器,源码共享一下,其实功能点很简单,就是逆天又想偷点懒而已... 软件下载: http://pan.baidu.com/s/1hqmqFsg 本来是准备昨天晚上编的,后来喝的有点高了...好了,不屁话了直接入正轨: 就重点讲一下model类的生成吧:先调用model窗体 ModelForm f1 = ModelForm.GetModelForm(); //单例(

小白C#窗体系列-06.MD5系列加密小工具

加密解密从XX几百万用户信息泄露开始就已经得到重视,这两年就跟牛了,其实加密并不是什么杂七杂八的,一个思路就能得到强有利的密文,当你的数据库被黑客窃走时你强大的加密就会耗上黑客很多时间,这就为你拯救网站拯救服务器留下了很大的空间,进几年MD5非常火,后来XMD5也慢慢流行起来了各种变态的加密方式涌了上了,逆天今天给大家提供几个很简单很简单的思路(就是这简单的思路让很多解密网站都崩溃了...) 为了满足站长的需求,把变异型的再次md5了一下,产生固定位数的密文 加之与国际接轨和资源节省的需求,1.

小白C#窗体系列-11.打造汉音互转神器

汉语拼音不好怎么办?网站拼音搜索怎么搞?一切尽在转换神器~软件和源码先发布,等我有时间再讲解~ 软件下载:http://pan.baidu.com/s/1kTMIxOb 源码下载:http://pan.baidu.com/s/1gdGKVVd 本期推荐: codesmith三层模板   英朗大字典                                                                      下一期:代码生成器