×

C#、C++

C#的WebBrowser操作frame

Kalet Kalet 发表于2009-03-20 浏览315 评论0
 C#的WebBrowser操作frame1.获取frame的源文件MessageBox.Show(webBrowser1.Document.Window.Frames["main"].Document.Body.InnerHtml);2.获取frame的HTMLDocument接口HTMLDocumentdoc=(HTMLDocument)webBrowser1.Document.DomDocument;objectj;for(inti=0;i<doc.parentWindow.frames.length;i++){   ...

C#、C++

WebBrowser页面与WinForm交互技巧(二)

Kalet Kalet 发表于2009-03-20 浏览290 评论0
 WebBrowser页面与WinForm交互技巧(二)StudyCase4:高亮显示上一个例子中我们学会了查找文本——究跟到底,对Web页面还是只读不写。那么,如果说要把所有的搜索结果高亮显示呢?我们很快会想到把所有匹配的文字颜色、背景改一下就可以了。首先想到的可能是直接修改HTML文本吧……但是,与SourceCode的高亮显示不同,我们需要并且只需要高亮页面中的文本部分。HTML标签、脚本代码等等是绝对不应该去改动的。因此我们不能把整个页面的SourceCode读进来然后replace,那样有破坏HTML文件结构的可能;我们只能在能够分离出文本与其他内容(标签,脚本…...
WebBrowser页面与WinForm交互技巧(一)

C#、C++

WebBrowser页面与WinForm交互技巧(一)

Kalet Kalet 发表于2009-03-20 浏览333 评论0
 WebBrowser页面与WinForm交互技巧(一)话说有了WebBrowser类,终于不用自己手动封装SHDocVw的AxWebBrowser这个ActiveX控件了。这个类如果仅仅作为一个和IE一模一样浏览器,那就太没意思了(还不如直接用IE呢)。那么,无论我们是想做一个“定制版IE”,还是希望利用HTML来做用户界面(指WinApp而非WebApp。许多单机软件,包括Windows的帮助支持中心,都是HTML做的),都少不了WindowsForm和包含在WebBrowser中的Web页面的交互。本文将通过几个实际的例子,初步介绍一下WinForm和WebBrowser所包...
C#读取修改配制文件(Framework2.0)

C#、C++

C#读取修改配制文件(Framework2.0)

Kalet Kalet 发表于2009-03-20 浏览301 评论0
在VS2005中设置和读取配置文件已经变的很简单了,而且是强类型的,读取的值可以直接赋值给相应的变量,无需强制转换。例如:DateTimeuserDateTime1 =Properties.Settings.Default.userDateTime1;真是方便了很多。但是你有没有发现,使用Properties.Settings.Default.Save()保存了设置后,Application范围的设置为什么没有保存成功,User范围的设置的变化为什么没有体现到app.config文件中去呢?C#读取修改配制文件(Framework2.0)1.在VS2005中...
用C#生成随机中文汉字验证码的基本原理

C#、C++

用C#生成随机中文汉字验证码的基本原理

Kalet Kalet 发表于2009-03-20 浏览267 评论0
前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码。^_^我不得不佩服腾讯为了防止目前网络上横行的QQ号码自动注册机而采取中文验证码的手段。仔细想了想感觉用程序生成随机的中文验证码并不是很难,下面就来介绍一下使用C#生成随机的中文汉字的原理。用C#生成随机中文汉字验证码的基本原理1、汉字编码原理到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几个汉字组合就行了呢?使用后台数据库先将所有汉字存起来使用时随机取出,这也是一种办法,但是中文...

C#、C++

c#如何强命名程序集

Kalet Kalet 发表于2009-03-20 浏览352 评论0
 c#如何强命名程序集为什么要生成强命程序集?我的理解:强命名程序集可以防止程序集被篡改,强命名的程序集可以部署到GAC中,共享多个版本的程序集怎么样生成强命名程序集?1.生成密钥运行VisualStudio.NET2003命令提示行输入:存放密钥的路径>sn-k密钥文件名例如:D:\>sn-kmykey.key  2.使用密钥c#如何强命名程序集把密钥文件放到解决方案的根目录下,打开解决方案,修改要强命名项目的AssemblyInfo.cs文件[assembly:AssemblyVersion("1.0.0.1")] &...

C#、C++

MSDN:.Net中的反射使用入门

Kalet Kalet 发表于2009-03-20 浏览280 评论0
 MSDN:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpcondiscoveringtypeinformationatruntime.htm提纲:MSDN:.Net中的反射使用入门1、 什么是反射2、 命名空间与装配件的关系3、 运行期得到类型信息有什么用4、 如何使用反射获取类型5、 如何根据类型来动态创建对象6、 如何获取方法以及动态调用方法7、 动态创建委托 1、什么是反射   Refle...

C#、C++

.NET技术----反射

Kalet Kalet 发表于2009-03-20 浏览294 评论0
1、什么是反射反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等,。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码.NET技术----反射和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息):System.Reflection.MemberInfoSystem.Reflection.EventInfoSystem.Reflection.FieldInfoSystem.Reflection.Met...
图像显示应用程序画面闪烁 图像显示应用程序画面闪烁

C#、C++

图像显示应用程序画面闪烁

Kalet Kalet 发表于2009-03-20 浏览314 评论0
这是一个对于开发客户端专业应用程序很实际的问题.见过很多网友问为什么我做的图像显示应用程序在拖拉滚动条,Resize事件发生后,或者某些特殊的刷新过程会出现整幅画面闪烁一次的现象,有其他窗口在其上拖动也会出发全屏刷新.看过很多网友的评论,有的说是调用窗体的SetStyle(ControlStyles.AllPaintingInWmPaint,true)方法,有的说采用双缓存技术,还有诸如Form.Invalidate(false)参数的此类说法,其实都不一定解决问题,而且也不是闪烁的本质原因.图像显示应用程序画面闪烁我们先来分析一下这三种办法到底是解决什么问题的.第一个Form.SetStyl...

C#、C++

C#绘图双缓冲技术总结

Kalet Kalet 发表于2009-03-20 浏览253 评论0
GDI+的双缓冲问题终于搞定了,真是松了一口气!一直以来的误区:.net1.1和.net2.0在处理控件双缓冲上是有区别的。C#绘图双缓冲技术总结.net1.1中,使用:this.SetStyle(ControlStyles.DoubleBuffer,true); .net2.0中,使用:this.SetStyle(ControlStyles.OptimizedDoubleBuffer,true);怪不说老是提示参数无效,一直也不知道是这个问题,呵呵要知道,图元无闪烁的实现和图元的绘制方法没有多少关系,只是绘制方法可以控制图元的刷新区域,使双缓冲性能更优!导致画面...