随笔分类 -  C#

关于C#语言
摘要:1:声明或定义事件2:注册事件,同时该事件会订阅一个处理方法(或者说绑定处理方法)3:触发事件,这将导致“处理方法”被调用(该处理方法可能被“主线程”调用,也可能被“子线程”调用) 阅读全文
posted @ 2013-12-16 16:13 长白山 阅读(129) 评论(0) 推荐(0)
摘要:使用“事件”可以实现线程间“消息/数据”的传递,非常棒的一种方法。 阅读全文
posted @ 2013-12-12 14:44 长白山 阅读(384) 评论(0) 推荐(0)
摘要:不要认为你关心的东西就是对象的全部或对象的核心,相对于对象的成员家族而言,它仅仅是其中的一个‘很小的成员而已’ 阅读全文
posted @ 2013-12-11 16:41 长白山 阅读(164) 评论(0) 推荐(0)
摘要:VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + ALT + J对象浏览 CTRL + ALT + F1帮助目录 CTRL + F1 动态帮助 F1 帮助 SHIFT + F1当前窗口 阅读全文
posted @ 2013-12-11 10:50 长白山 阅读(258) 评论(0) 推荐(0)
摘要:用最易懂的说法就是UTF-8里包括GB2312。UTF-8是国际通用的标准(包括世界所有的语言),而GB2312(只是简体中文)只适合做中文的网站。假设你想做个中文网页,但是还可以翻成英文的话,就得用UTF-8。如果用GB2312做的话,只能给中国人看看拉。在网页编码、进行xml数据传输时、socket传输数据时,若出现乱码现象,则可能是“编码格式”问题(比如:发送端的“编码格式”与接收端的“编码格式”不兼容), 阅读全文
posted @ 2013-12-09 22:11 长白山 阅读(193) 评论(0) 推荐(0)
摘要:1、在vs2010选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”:命名为:Setup1。这是在VS2010中将有三个文件夹, 1.“应用程序文件夹”表示要安装的应用程序需要添加的文件;2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe; 3.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。2、应用程序文件夹中点右键添加文件:表示添加要打包的文件;添加的文件一般是已经编译过应用程序的 阅读全文
posted @ 2013-12-04 16:01 长白山 阅读(228) 评论(0) 推荐(0)
摘要:周鸿祎向创业者们建议,现在最应该做的事情是选择那些巨头们不屑、没兴趣进入的领域,尽量“猫”起来,在完全成长起来之前,别让巨头们看见。 阅读全文
posted @ 2013-11-29 14:43 长白山 阅读(134) 评论(0) 推荐(0)
摘要:异常处理: 编写代码时一定要注意判断各种异常情况 1:指定文件是否存在 2:网络是否正常 3:加载XML文档是否成功,指定读取或写入的节点是否存在???等等, 4:其它。。。。。。。。总结:若“可能”存在异常的情况,则代码“必须”使用throw ex随时抛出,以冒泡的形式,从底逐渐向上,层层抛出,抛到最后一层时,以友好的模式输出提示信息(MessageBox.Show),从而保证代码的健壮性。 阅读全文
posted @ 2013-11-28 15:36 长白山 阅读(312) 评论(0) 推荐(0)
摘要:在编写客户端类的程序时,经常优化代码和使用异步委托(或开辟子线程),这二者要区分对待,主线程中的代码需要优化,子线程中的代码同样需要优化,异步委托的主要贡献是,使某些操作或运算不致于紧紧抓住主线程不放,这样主线程不致于出现“假死状态”,所以二者要区分对待 阅读全文
posted @ 2013-11-09 20:42 长白山 阅读(170) 评论(0) 推荐(0)
摘要:1:类的职责或方法职责的单一性2:功能的封装性(把长代码的功能分成若干块,每块封装成一个方法)3:依赖倒置(依赖于抽象,而不依赖具体类)和OberserCollection类型,用IEnumerable来代替>4:多写注释5:多判断异常情况,异常采用冒泡抛出法处理(即:从底层向上逐层抛出(thow ex)+最顶层友好提示(MessageBox)) 阅读全文
posted @ 2013-11-02 13:21 长白山 阅读(215) 评论(0) 推荐(0)
摘要:public static IEnumerable Where:IEnumerable 类型 阅读全文
posted @ 2013-10-28 09:55 长白山 阅读(192) 评论(0) 推荐(0)
摘要:我们通常在开发软件完毕后需要打包制作安装程序,这个时侯一般都会需要设置应用程序的图标,使用默认的图标一般都比较难看,那么我们应该怎样设置自定义的图标呢? 我现在要讲的图标设置有两种情况,一种是应用程序界面左上角显示的图标,另一种是安装程序后快捷方式显示的图标,let's go!vs.net环境下应用程序中界面左上角显示的图标设置: 方法一:右键点击工程名选择“属性”,再选择“应用程序”选项卡,选中“图标”单选按钮,然后点击“...”按钮选择需要设置的图标文件".ico",再次编译即可。 方法二:点击需要设置图标的窗体,然后在属性管理器里设置Icon属性,选择需要的图 阅读全文
posted @ 2013-10-12 00:10 长白山 阅读(1091) 评论(0) 推荐(0)
摘要:Assembly assembly = Assembly.LoadFile("程序集路径,不能是相对路径"); // 加载程序集(EXE 或 DLL) object obj = assembly.CreateInstance("类的完全限定名(即包括命名空间)"); // 创建类的实例 若要反射当前项目中的类可以为: Assembly assembly = Assembly.GetExecutingAssembly(); // 获取当前程序集 object obj = assembly.CreateInstance("类的完全限定名(即包括命名 阅读全文
posted @ 2013-09-15 11:22 长白山 阅读(518) 评论(0) 推荐(0)
摘要:这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全部采用手工操作工作量大而且繁琐,因此周公决定利用C#来实现。在很多地方都需要验证用户身份才可以进行下一步操作,这就免不了POST请求来登录,在实际过程中发现有些网站登录是HTTPS形式的,在解决过程中遇到了一些小问题,现在跟大家分享。通用辅助类下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需要获取认证信息(如Cookie),所以返回的是HttpWebResponse对象,有了返回的HttpWebResponse实 阅读全文
posted @ 2013-09-04 11:06 长白山 阅读(257) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/shanyou/archive/2012/10/27/2742979.htmlhttp://www.cnblogs.com/nbpowerboy/archive/2013/02/21/2920040.html 阅读全文
posted @ 2013-09-01 17:31 长白山 阅读(272) 评论(0) 推荐(0)
摘要:http://www.doc88.com/p-305888679879.htmlhttp://www.doc88.com/p-992232217007.htmlhttp://www.cnblogs.com/brucewoo/category/335856.html 阅读全文
posted @ 2013-08-20 23:17 长白山 阅读(383) 评论(0) 推荐(0)
摘要:利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用——与“C#,ArcGIS Engine开发入门教程”相同此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤。你可以在下面的目录下找到相应的样例程序:/DeveloperKit/Samples/Developer_Guide_Scenarios/ ArcGIS_Engine/Building_an_ArcGIS_Control_Application/Map_Viewer注:ArcGIS样例程序不包含在ArcGIS Engine开发工具包“典型”安装方式中。 阅读全文
posted @ 2013-08-20 22:52 长白山 阅读(635) 评论(0) 推荐(0)
摘要:C#,ArcGIS Engine开发入门教程 转自:http://blog.csdn.net/yanleigis/article/details/2233674目录(?)[+]五实现一 加载ArcGIS控件二 在容器中嵌入ArcGIS控件三 加载Map文档到MapControl与PageLayoutControl 四 设置ToolbarControl与TOCControl控件的绑定控件五 处理窗口缩放六 向ToolbarControl增加命令七 给PageLayoutControl添加弹出式菜单八 在TOCControl中控制标签编辑九 在MapControl上绘制图形十 创建自定义工具十一 阅读全文
posted @ 2013-08-20 22:43 长白山 阅读(14929) 评论(0) 推荐(0)
摘要:Interface IDataHandler{ void DataRead();}Interface IXMLTransformer{ void TransformToXML();}Interface ICharHandler{ void CreateChar(); void DisplayChar();}Interface IReportHandler{ void Createreport(); void Displayreport();}public class ConcreteClass:IDataHandler,ICharHandler //实现两个接口,相当于有两个“基类”{ pub 阅读全文
posted @ 2013-08-18 11:18 长白山 阅读(198) 评论(0) 推荐(0)
摘要:1、复用注意事项 复用时,要尽量使用组合/聚合关系(即关联关系),少用继承2、使用原则一般而言,如果两个类之间是“Has-A”关系,应使用组合或聚合;如果是“Is-A”关系,可使用继承。“Is-A”是严格的分类学意义上的定义,意思是一个类是另一个类的一种;而“Has-A”则不同,它表示某一个角色具有某一项责任。public abstract class DBUtil{ public abstract Connection GetConnection();}public class OracleDBUtil:DBUtil{ public override connection GetConnec 阅读全文
posted @ 2013-08-18 11:17 长白山 阅读(1043) 评论(0) 推荐(0)