随笔分类 -  C#

摘要:using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;using System.Reflection;using System.Runtime.InteropServices;using System.Globalization;namespace GetCode{ public class MyWebBrowser : WebBrowser { private const int DISPID_AMBIENT_DLCONTROL = -5512; private i 阅读全文
posted @ 2012-12-05 14:01 天涯海客 阅读(731) 评论(0) 推荐(0)
摘要:File: Form1.cs Collapse | Copy Codeusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using myCustomBrowser;namespace CustomBrowser{ [ComVisible(true)] ... 阅读全文
posted @ 2012-12-05 13:58 天涯海客 阅读(634) 评论(0) 推荐(0)
摘要:Visual C#两分钟搭建BHO IE钩子微软在1997年正式推出Browser Helper Object (BHO), 使程序员能够更好的对IE进行二次开发和操作. 在通过编写BHO程序数月后, 我希望把我的一些经验告诉才开始的同志, 避免走一些弯路.我本人是非常喜欢C++的. 因为C++对内存直接操作的方式可以节省非常多的内存损耗, 也更快一些. 但是在开发BHO的时候, 我的确也认识到, C#明显要比C++强大很多. 例如C#提供的FOREACH 循环就可以避免FOR循环产生的溢出. 另外C#的类型转换也明显要强于C++. 毕竟BHO和C#都是出自微软一家, 理所当然, C#更适合B 阅读全文
posted @ 2012-12-05 10:21 天涯海客 阅读(547) 评论(0) 推荐(0)
摘要:datagridview1.rows.add提供了4种方法,在委托的时候使用Add(DataGridViewRow),就可以成功委托添加了。之前用Add(Object[])委托但总是不行,抛出异常:参数计数不匹配。可能使用方法不对吧。委托方法:delegate int AddGridROW(DataGridViewRow i);//线程访问控件的委托,新建委托DataGridViewRow dgvr = new DataGridViewRow();//实例化对象dgvr.CreateCells(DataGridView1);//设置模板,映射作用dgvr.Cells[0].Value = &q 阅读全文
posted @ 2012-11-19 13:17 天涯海客 阅读(987) 评论(0) 推荐(0)
摘要:1.使用SqlCommand.ExecuteReader()方法会造成窗体假死,所以用.net2.0新增的方法BeginExecuteReader代码如下:private delegate void DataGridViewHandler(DataTable dt); /// <summary> /// 此处开始加在数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> priv 阅读全文
posted @ 2012-11-17 18:17 天涯海客 阅读(235) 评论(0) 推荐(0)
摘要:最简单的代码publicclassClientEngine:SoapExtension{StreamoldStream;StreamnewStream;stringactionName;///<summary>///构造函数///</summary>publicClientEngine(){}publicoverrideobjectGetInitializer(LogicalMethodInfomethodInfo,SoapExtensionAttributeattribute){returnattribute;}publicoverrideobjectGetIniti 阅读全文
posted @ 2012-11-17 16:10 天涯海客 阅读(233) 评论(0) 推荐(0)
摘要:using System; using System.Web.Services; using System.Web.Services.Protocols; using System.IO; namespace SunLibrary.Web { /* **********服务器端配置********** 在WebService项目中,增加Soap扩展有两种方式,web.config配置或WebMethod配置(推荐使用WebMethod方式只扩展必要的接口) 1.web.config配置将对所有WebMethod发生作用。!!但是,无法配置Attribute的自定义属性!! ... 阅读全文
posted @ 2012-11-17 15:56 天涯海客 阅读(563) 评论(0) 推荐(0)
摘要:C# Stream 和 byte[] 之间的转换一. 二进制转换成图片MemoryStream ms = new MemoryStream(bytes);ms.Position = 0;Image img = Image.FromStream(ms);ms.Close();this.pictureBox1.Image二. C#中byte[]与string的转换代码1、System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding(); byte[] inputBytes =converter.GetBytes(i. 阅读全文
posted @ 2012-11-14 16:08 天涯海客 阅读(229) 评论(0) 推荐(0)
摘要:最近项目需要用到压缩,以前1.1的时候都用的第3方库,这次想尝试一下2.0带的 Compression库。一用发现这个库压的东西偏大,而且没文件名没时间。那么到底是为什么会这样呢,难道是我的使用有问题?决定要搞搞明白,于是有了下面这段代码,用SharpZipLib和2.0自带的库做下对比,大家都采用Gzip压缩使用2.0的库做压缩staticMemoryStreamDeflate(byte[]data)...{MemoryStreammemoryStream=newMemoryStream();using(GZipStreamgzip=newGZipStream(memoryStream,Co 阅读全文
posted @ 2012-11-14 14:49 天涯海客 阅读(1177) 评论(0) 推荐(0)
摘要:在webservice中将dataset序列化是我们经常遇到的问题,但是遇到很大的dataset,则网络传输就必须考虑的问题,将dataset处理压缩后传输是我们不错的选择,下面提供这种方法:第一步:引入命名空间下载DataSetSurrogate组件using System.IO.Compression;using System.Runtime.Serialization.Formatters.Binary;将下载好的DataSetSurrogate放入bin路径下第二步:压缩序列化///序列化转化为二进制数组的DataSetpublic byte[] GetDataSetSurrogate 阅读全文
posted @ 2012-11-14 09:20 天涯海客 阅读(338) 评论(0) 推荐(0)
摘要:Posted by Nishizhen on Mar 3, 2010 in 杂七杂八 | 1 commentC# iframe webBrowser 跨域view plaincopy to clipboardprint?webBrowser1.Document.Window.Frames[0].Document”引发了“System.UnauthorizedAccessException”类型的异常System.Windows.Forms.HtmlDocument{System.UnauthorizedAccessException} {"拒绝访问。(异常来自HRESULT:0x80 阅读全文
posted @ 2012-06-15 15:27 天涯海客 阅读(1090) 评论(0) 推荐(0)
摘要:这两天在研究用JAVA开发类似MSN机器人的应用程序,今天想到要让程序每次发送消息的时候更换一种随机的字体颜色,于是这就有一个问题,假设大部分情况下背景色是白色(#FFFFFF)的,万一随机出来的颜色太淡看不清楚怎么办呢?这时候就需要一个对于颜色的判断标准,我首先想到的就是亮度,每种颜色有它的色彩亮度,这个计算在JPG压缩等场合也会用到。这里提供一个由RGB计算色彩知觉亮度的公式:Y = ((R*299)+(G*587)+(B*114))/1000根据这个公式,白色的知觉亮度最大,为255,而黑色最小,为0,根据W3C标准,字体色和背景色的知觉亮度差值大于125,也就是至少有50%亮度差异的情 阅读全文
posted @ 2012-06-13 16:15 天涯海客 阅读(1476) 评论(0) 推荐(0)
摘要:1、DataGridView中实现右键单击后选中所在行及弹出上下文菜单 首先对dataGridView1添加RowContextMenuStripNeeded事件,然后新建一个DataGridViewRow,通过e.RowIndex捕获鼠标右键单击的行信息,清除所有选中的行,将鼠标右键捕获到的行设为选中。 在这里通过dataGridViewRow1.Cells["fullNameDataGridViewTextBoxColumn"].Value将所选单元格的内容传给变量,附代码如下。 private void dataGridView1_RowContextMenuStri 阅读全文
posted @ 2012-04-28 17:30 天涯海客 阅读(498) 评论(0) 推荐(0)
摘要:我在用webbrowser控件做一个自动填充的程序,自动填充很简单 页面都是text元素,几个单选等等。获取到设置value就行了,但是在最后我遇到一个很棘手的问题,就是有一个textarea的文本编辑区。这个编辑区跟QQ空间,还有其他空间写日志用的编辑区差不多,只是比他们少一些编辑格式的功能罢了。开始我认为只是一个textarea而已,以前也做过,很简单设置它的innertext属性就搞定了,可是事实并没有我想的那么好,我设置了他的innertext没有任何效果。难道没有获取到这个textarea,于是我加了一个是否为空的判断,结果还是不行。后来我尝试了各种方法设置它的value、text 阅读全文
posted @ 2011-12-30 11:40 天涯海客 阅读(1315) 评论(6) 推荐(0)
摘要:下午做webbrowser登陆和讯博客发贴,遇到两个问题 一 webbrowser填写好登陆框,点登陆按钮没有反映。我确定webbrowser正确找到了登陆按钮。这个登陆按钮有 click事件,被点击时会触发一个javascript函数,但是应该没区别啊。即使那个函数里有做了什么,webbrowser点击登陆按钮应该也会 像手工点击一样触发整个函数过程吧。至今没有找到原因,采取的解决办法是从其他登陆框登陆进去了。现在门户网站都有通行证一说,很多地方都可以登陆,一旦 登陆,就可以访问网站的所有应用,比如邮箱、博客、相册等。 二 提交日记的时候,webbrowser点提交按钮,又没反应。 提交.. 阅读全文
posted @ 2011-12-29 17:45 天涯海客 阅读(1799) 评论(0) 推荐(0)
摘要:今天查找以前写的画图程序,想完善一下,发现图片添加文字水印时候会有些模糊,特别是小字体的时候特别模糊,经过一番调适,终于发现了问题帖上代码,警示自己 System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath("b1.jpg")); Bitmap bitWaterMark = new Bitmap(image.Width, image.Height); Graphics g = Graphics.FromImage(bitWaterMark); g.DrawImage(image, 0, 阅读全文
posted @ 2011-11-28 17:33 天涯海客 阅读(3423) 评论(0) 推荐(0)
摘要:抽象类:不能实例化。可以在抽象类中定义抽象方法,以供派生类写具体方法。派生类也可以保留抽象方法,但该类必须为抽象类。也可以在抽象类中写非抽象方法。例子:抽象类public abstract class AbstractClass { public abstract string GetName(string Name); public string GetNameByID(string Name) { return Name; } }派生类public class UserClass:AbstractClass { public override string GetName(str... 阅读全文
posted @ 2011-11-02 11:27 天涯海客 阅读(415) 评论(0) 推荐(0)
摘要:示例代码如下: namespace SampleListT { class Program { static void Main(string[] args) { //using System.Collections.Generic; 命名空间中的List<T> //using System.Collections; 命名空间中的ArrayList //都实现了列表集合,一个是泛形集合,一个是非泛型的 //下面我们将Person对象加到集合中 Person p1 = new Person( "aladdin" , 20 ); ... 阅读全文
posted @ 2011-11-01 14:38 天涯海客 阅读(425) 评论(0) 推荐(0)
摘要:C#格式化数值结果表字符说明示例输出C货币string.Format("{0:C3}", 2)$2.000D十进制string.Format("{0:D3}", 2)002E科学计数法1.20E+0011.20E+001G常规string.Format("{0:G}", 2)2N用分号隔开的数字string.Format("{0:N}", 250000)250,000.00X十六进制string.Format("{0:X000}", 12)Cstring.Format("{0:000. 阅读全文
posted @ 2011-11-01 14:29 天涯海客 阅读(199) 评论(0) 推荐(0)