摘要:using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;using System.Runtime.CompilerServices;using System.Runtime....
阅读全文
随笔分类 - C#学习
摘要:1、使用g.MeasureString()获得使用MeasureString测量出来的字符宽度,总是比实际宽度大一些,而且随着字符的长度增大,貌似实际宽度和测量宽度的差距也越来越大了。查了一下MSDN,找到了下面这个理由:MeasureString 方法旨在与个别字符串一起使用,它在字符串前后包括少...
阅读全文
摘要:一、各种旋转、改变大小注意:先要添加画图相关的using引用。//向右旋转图像90°代码如下:private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e){Graphics g = e.Graphics;...
阅读全文
摘要:C#图片处理示例(裁剪,缩放,清晰度,水印)吴剑 2011-02-20原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/前言需求源自项目中的一些应用,比如相册功能,通常用户上传相片后我们都会针对该相片再生成一张缩略图,用于其它页面上的列表显示。随便看一下,大部...
阅读全文
摘要:HtmlAgilityPack是.net下的一个HTML解析类库。支持用XPath来解析HTML。这个意义不小,为什么呢?因为对于页面上的元素的xpath某些强大的浏览器能够直接获取得到,并不需要手动写。节约了大半写正则表达式的时间,当然正则表达式有时候在进一步获取的时候还需要写,但是通过xpath...
阅读全文
摘要:等待网页执行完毕(AJAX执行后)。使用webBrowser1.Document.Body.OuterHtml可以获取到AJAX产生的网页内容。
阅读全文
摘要:1、新建一个类HotkeyHelperusing System;using System.Runtime.InteropServices;using System.Windows.Forms;using System.Collections;namespace 黄聪{ public deleg...
阅读全文
摘要:习惯了用老方式(注释的方式)来对程序进行调试,不过昨天才发现这样调试存在很大的隐患:在工程发布的时候如果忘记把该注释的代码注释掉,而让这些调试信息随工程一起发布,如果是可见的调试信息倒好发现,如果不是可见的,那就惨了。昨天就吃了这个亏,现在总算找了个新方法,还得感谢一下Debug和Release。通过#if预编译指令对DEBUG进行判断,如下:#if DEBUG // 调试用代码 …… ……#endif调试用代码在Debug状态下是要执行的,而在Release状态下根本执行,在生成的时候也直接忽略。
阅读全文
摘要:实现效果如下:项目已经打包后,大家直接下载吧:【HCWaitForm.rar】
阅读全文
摘要:通常情况下,若是你将用户控件写好了放入窗体中,若是有不合理的代码,则会弹出错误提示框,不让你放。若是你之前只是随便加了一个用户控件,并且没有什么问题,但后来你又把控件改坏掉了,那么你打开就会报错(在窗体内显示错误,选择"忽略并继续"还是可以打开设计界面的)。一般在设计时打开设计视图报"未将对象引用设置到对象的实例",基本上都是你在用户控件的构造方法及Form Load事件中写入了计算的代码。如以下代码放入到别的控件中就会报错:using System;using System.Collections.Generic;using System.Compon
阅读全文
摘要:在64位系统中使用VS对程序(32位的)进行调试,出现“不允许对64位应用程序进行修改”的提示,如下图所示:解决方法:在VS主菜单上选择“生成” or "Build"——“配置管理器” or "Configuration Manager",设置生成平台为x86(如果没有就新建一个),如下图所示:OK,完成!
阅读全文
摘要:1、在属性窗口找到ScriptErrorsSuppressed,选择"true",这个选择的意思是,如果网页上有出现错误命令,这个错误提示将被抑制2、【项目管理那里,在项目上右击,选择"属性"】--【程序集信息】--【勾选上"使程序集com可见"】,这个选择其实是让浏览器的javascript能找找到"external"对象,如果不明白,那不用理它,涉及浏览器的东西太复杂,你知道该这么用就OK了
阅读全文
摘要:解决办法:使用for循环,而不是foreach循环例如:ArrayList akeys=new ArrayList(_transmit_tb.Keys); for(int p=akeys.Count-1;p> -1;p--) { _transmit_tb.Remove(akeys[p]); }原因:1、hashtable存放你放入的值的时候,不是按照你存放顺序放的所以当你用foreach遍历的时候,就不能保证遍历出来的顺序和你原来存放进去的顺序是一致的。2、msdn的解释:foreach语句是对枚举数的包装,它只允许从集合中读取,不允许写入集合。也就是,不能在for...
阅读全文
摘要:找了好久,最后在国外的论坛找到了解决办法,直接贴代码吧。方法一:public static class MemberInfoGetting{ public static string GetMemberName(Expression> memberExpression) { MemberExpression expressionBody = (MemberExpression)memberExpression.Body; return expressionBody.Member.Name; }}string TableName = "12...
阅读全文
摘要:vs2010 错误提示框:文件加载 使用 简体中文(GB2312)编码加载文件C:\Users\Administrator\AppData\Local\Temp\nxhgjasi.5au \Temp\Properies\AssemblyInfo.cs时,有些字节已用Unicode替换字符替换。保存该文件将不会保留原始文件内容。解决方法:vs2010 工具-》选项-》文本编辑器-》选中ok问题解决
阅读全文
摘要:开发语言:C#3.0IDE:Visual Studio 2008本系列教程主要包括如下内容:1. BeginInvoke和EndInvoke方法2. Thread类3.线程池4.线程同步基础5.死锁6.线程同步的7种方法7.如何在线程中访问GUI组件一、线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行。这就需要在同一个进程中开启多个线程。我们使用C#编写一个应用程序(控制台或桌面程序都可以),然后运行这个程序,并打开windows任务管理器,这时我们就会看到这个应用程序中所含有的线程数
阅读全文
摘要:Html Agility Pack下载地址:http://htmlagilitypack.codeplex.com/Html Agility Pack 源码中的类大概有28个左右,其实不算一个很复杂的类库,但它的功能确不弱,为解析DOM已经提供了足够强大的功能支持,可以跟jQuery操作DOM媲美:)基础类和基础方法介绍Html Agility Pack最常用的基础类其实不多,对解析DOM来说,就只有HtmlDocument和HtmlNode这两个常用的类,还有一个 HtmlNodeCollection集合类。HtmlDocument类当然在解析DOM前需要加载html原始文件或者html的字
阅读全文
摘要:工具->选项->项目和解决方案把"总是显示解决方案"打√就ok了
阅读全文
摘要:转载自:http://www.cnblogs.com/JamesLi2015/archive/2011/09/08/2170519.htmlReflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图这里的Name,是标识一个程序集的完整标识,当GAC中存在程序集的多个版本时,这个名称是唯一的识别名称。但是,Reflector很早就转向收费软件了,需要购买许可才可以使用。对于耻于用盗版的朋友,通常会放弃。有朋友说,Reflector并没有增加更
阅读全文
摘要:在不希望运行的代码前加上这句代码就行了。if (DesignMode) { return; }
阅读全文