随笔分类 -  C#

C#使用中的一些Tips
摘要:http://www.cnblogs.com/developersupport/p/visualstudio-debugging-tips.html VisualStudio是一个强大的调试工具,里面很多隐藏功能少有人问津,但是在特定场景可以节省你很多时间,本文主要介绍一些VisualStudio调试相关的隐藏功能,欢迎大家补充。 运行到指针(Run to cursor) 大多数人用Visu... 阅读全文
posted @ 2013-08-01 14:00 好好学习,天天进步 阅读(1118) 评论(0) 推荐(1)
摘要:网上有很多农历公历转换的代码,但是很多都没经过完整的测试。 其实在.net中,已经有了一个类ChineseLunisolarCalendar,有农历公历转换的功能。 但是在windows phone的sdk中,这个类又去了。 于是还得自己实现一下转换。 下面实现了1901-2099年的农历公历转换,并且与ChineseLunisolarCalendar的结果进行了逐一比对。 http:/... 阅读全文
posted @ 2013-03-11 11:18 好好学习,天天进步 阅读(795) 评论(0) 推荐(0)
摘要:透明窗口与不规则窗口制作方法总结:Layered窗口:1.使用GDI读取bmp图片, 只要用SetLayeredWindowAttributes设置mask color就可以制作不规则窗口了.2.使用GDI+读取任意格式图片, 用SetLayeredWindowAttributes设置mask color, 不可以使某一颜色透明, 只能用RGN来做不规则窗口.3.使用GDI+读取带alpha通道的png图片, 用UpdateLayeredWindow可以制作简便透明的窗口, 控件alpha的值, 可以制作不规则窗口或带阴影的窗口.非Layered窗口:1.使用GDI读取bmp图片, 用rgn做 阅读全文
posted @ 2012-09-21 15:43 好好学习,天天进步 阅读(343) 评论(0) 推荐(0)
摘要:综述现在有很多B/S与C/S相结合的产品,会出现一种需求:从浏览器启动客户端的程序,并且如果客户端未安装相应程序,先提示安装。 主流的几款产品:腾讯QQ、阿里旺旺、迅雷、PPLive等,都有实现了类似的功能。 浏览器启动客户端程序可以通过注册自定义的Url协议来实现,而检测客户端是否安装程序需要利用ActiveX控件。 要额外注意的是,现在只有IE浏览器才支持。客户端程序 先准备一个简单的客户端程序,只用来显示传入的命令行参数。Client 1 namespace wuhong.Client 2 { 3 class Program 4 { 5 static vo... 阅读全文
posted @ 2012-07-30 17:33 好好学习,天天进步 阅读(256) 评论(0) 推荐(0)
摘要:既然用js实现了代码注释的对齐,那就学习学习VS的插件,写个插件放到VS里。图1图2具体实现的效果就是选中图一中的代码,然后点工具菜单里面的注释对齐,然后代码就显示成图2的效果了。过程:新建一个VS的扩展,然后生成工程里面就会有个Connect.cs文件,主要的插件实现就在这里面1.生成的代码里面下面这段是将插件放到工具菜单下,可以修改高亮部分,改变显示在菜单中的文字public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { ... 阅读全文
posted @ 2011-09-29 15:16 好好学习,天天进步 阅读(1732) 评论(0) 推荐(0)
摘要:原地址 骡骡 http://www.puppeter.cn/?p=417 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLIS... 阅读全文
posted @ 2011-03-08 10:15 好好学习,天天进步 阅读(232) 评论(0) 推荐(0)
摘要:In Win32, call GetTokenInformation, passing a token handle and the TokenUser constant. It will fill in aTOKEN_USER structure for you. One of the elements in there is the user's SID. It's a BLOB (binary), but you can turn it into a string by using ConvertSidToStringSid. To get hold of the cur 阅读全文
posted @ 2010-12-27 13:38 好好学习,天天进步 阅读(188) 评论(0) 推荐(0)
摘要:http://www.dotblogs.com.tw/killysss/archive/2009/11/23/12111.aspxExcel匯入匯出整理 參考資料很多=.=,感謝各位大大無私的分享(洪爺早餐店…)整理一下結果取得所有worksheet名稱view sourceprint?01/// <summary> 02/// Gets the name of all sheet. 03/// </summary> 04/// <param name="FName">Name of the F.</param> 05/// 阅读全文
posted @ 2010-07-29 10:28 好好学习,天天进步 阅读(481) 评论(0) 推荐(0)
摘要:Compare toolsProductCommandArgumentsTFS defaultdiffmerge.exe%1 %2 %6 %7 %5 /ignorespaceWinDiffwindiff.exe%1 %2DiffDoc (for Word files)DiffDoc.exe/M%1 /S%2WinMergewinmerge.exe/ub /dl %6 /dr %7 %1 %2Beyond Comparebc2.exe%1 %2 /title1=%6 /title2=%7KDiff3kdiff3.exe%1 --fname %6 %2 --fname %7Araxiscompar 阅读全文
posted @ 2010-06-23 09:38 好好学习,天天进步 阅读(460) 评论(0) 推荐(0)
摘要:虽然我已经可以使用很多种编程语言进行工作,但我的工作常常会要求我快速掌握一门新的语言。我没有选择去阅读几百页的程序手册,而是快速浏览10到15页的教程(可以在Google中搜索),并把程序语言的语法参考说明印在小卡片上(在google里搜索language to learn+reference card就能找到)。首先,我会熟悉这种程序语言的编译器、编译选项、编辑器或集成开发环境的的快捷键和小技巧,写一个简单的“你好世界”程序,编译并运行它,再用调试器进行简单的调试,如设置断电、查看变量值、跳转到某一位置等。为了能够快速地掌握一种新的程序语言,我会做以下几个练习。注意,有些程序对初学者来说是很 阅读全文
posted @ 2009-10-21 14:28 好好学习,天天进步 阅读(321) 评论(0) 推荐(1)
摘要:ToolStripSplitButton 系统默认没有Checked效果,MS又说他们没时间改。只能自己处理一下了。重载OnPaint(PaintEventArgs e)if(Checked) Rectangle rect = ButtonBounds; using (Brush br = new LinearGradientBrush(rect, ProfessionalColors.ButtonCheckedGradientBegin, ProfessionalColors.ButtonCheckedGradientEnd, LinearGradientMode.Vertical)) { 阅读全文
posted @ 2009-09-03 11:43 好好学习,天天进步 阅读(512) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2009-08-12 13:25 好好学习,天天进步 阅读(175) 评论(0) 推荐(0)
摘要:自从VS2005以后,MS推荐用MenuStrip来代替原来的MainMenu,但是MenuStrip在设置菜单项Visible=false后,表面上看是好用的,实际上键盘上下移动菜单却会出现空白的现象。。。。。。 /// <summary> /// MenuStrip当设置Visible的时候,键盘上下移动菜单会出现空白的bug /// MS说: Please also note that this issue is purely visual, there's no functionality loss. /// 观众说:Fix these problems ins.. 阅读全文
posted @ 2009-07-29 13:02 好好学习,天天进步 阅读(658) 评论(0) 推荐(0)
摘要:using System;using System.Collections.Generic;using System.Text;using System.Runtime.Remoting.Proxies;namespace Aop{ public class AopAttribute : ProxyAttribute { public override MarshalByRefObject CreateInstance(Type serverType) { AopProxy realProxy = new AopProxy(serv... 阅读全文
posted @ 2009-05-05 16:33 好好学习,天天进步 阅读(2328) 评论(0) 推荐(1)
摘要:publicvoidExecuteNonQuery(stringsql){ISessionsession=null;ITransactiontransaction=null;try{session=SessionHelper.OpenSession();transaction=session.BeginTransaction();IDbCommandcommand=session.Connection.CreateCommand();transaction.Enlist(command);command.CommandText=sql;command.ExecuteNonQuery();tr. 阅读全文
posted @ 2008-09-28 15:12 好好学习,天天进步 阅读(537) 评论(0) 推荐(0)
摘要:1. DataGridView当前的单元格属性取得、变更2. DataGridView编辑属性3. DataGridView最下面一列新追加行非表示4. DataGridView判断当前选中行是否为新追加的行5. DataGridView删除行可否设定6. DataGridView行列不表示和删除7. DataGridView行列宽度高度设置为不能编辑8. DataGridView行高列幅自动调整9. DataGridView指定行列冻结10. DataGridView列顺序变更可否设定11. DataGridView行复数选择12. DataGridView选择的行、列、单元格取得13. D 阅读全文
posted @ 2008-08-27 16:06 好好学习,天天进步 阅读(680) 评论(0) 推荐(0)
摘要:DataGridView 功能很强,但是闪烁的问题太严重了,特别是自己 CellPainting以后。所以我们用双缓冲,SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true),但是这样当改变列宽的时候,那个竖着的基准线又闪烁得厉害。唉,MS怎么就不能把这点事情做好呢。。。 阅读全文
posted @ 2008-08-27 14:23 好好学习,天天进步 阅读(399) 评论(0) 推荐(0)
摘要:一个常问的问题:http://blog.csdn.net/problc/archive/2008/06/03/2509046.aspxA=B+C+D;A,B,C,D都是string对象。这是讨论string和stringbuilder的一个常用例子,也喜欢以此来说明stringbuilder比string好。我们说这种方式创建了A,B,C,D,B+C,B+C+D这样6个对象。而用stringbuilder创建一个对象,append就行。但实际上,stringbuilder sb =new stringbuilder();sb.Append(A);sb.Append(B);sb.Append(C 阅读全文
posted @ 2008-06-03 22:38 好好学习,天天进步 阅读(208) 评论(0) 推荐(0)
摘要:int i=3;int j=4;i ^=j ^= i ^= j;这是个经典的写法,两个整数不用临时变量就实现了交换。很Perfect!但是这个在C语言中是Perfect,在C#中呢?using System;class Test{public static void Main(){int i = 3;int j = 4;i ^= j ^= i ^= j;Console.WriteLine("I:"+i+" J:"+j);}}但是输出为I:0 j:3到底发生了什么,在C里面不是运行的好好的吗.来看看IL中间代码吧 L_0000: nop L_0001: l 阅读全文
posted @ 2008-05-27 22:35 好好学习,天天进步 阅读(164) 评论(0) 推荐(0)
摘要:在XP番茄花园时代之前,我用过StyleXp来美化操作系统,可以切换很多风格。而现在的软件很多也都有皮肤系统,我一直想知道他们是怎么做的,但是没弄明白。最近看了一下IrisSkin这个使用简单的给软件加上皮肤的库,觉得不错,存个档先。 IrisSkin使用很简单。main方法:staticvoidMain()...{Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newClient());}在ToolBox中,将SkinEngine拖到Fo 阅读全文
posted @ 2008-05-12 23:11 好好学习,天天进步 阅读(235) 评论(0) 推荐(0)