C#
文章平均质量分 55
problc
适度设计
展开
-
C#重定向 进程调用 WinForm多线程
需求: 一个以前的控制台程序,由于命令行方式对用户不够友好,所以加个界面调用控制台程序,但是以前的控制台输出信息就要重定向到新的界面上,要不用户不知道程序信息更不好。 在命令行下重定向本来是很容易的一件事情(Hello >1.txt,Linux 的 | 管道功能更强),但是发现.net里面调用重定向却不是那么容易。先写一个例子程序,一个Form程序,里面一个Button,每点一次But原创 2008-05-11 23:18:00 · 1401 阅读 · 2 评论 -
Visual Studio 插件 --代码注释对齐
既然用js实现了代码注释的对齐,那就学习学习VS的插件,写个插件放到VS里。图1图2具体实现的效果就是选中图一中的代码,然后点工具菜单里面的注释对齐,然后代码就显示成图2的效果了。过程:新建一个VS的扩展,然后生成工程里面就会有个Connect原创 2011-09-29 15:16:12 · 6778 阅读 · 4 评论 -
从浏览器启动客户端程序
综述 现在有很多B/S与C/S相结合的产品,会出现一种需求:从浏览器启动客户端的程序,并且如果客户端未安装相应程序,先提示安装。 主流的几款产品:腾讯QQ、阿里旺旺、迅雷、PPLive等,都有实现了类似的功能。 浏览器启动客户端程序可以通过注册自定义的Url协议来实现,而检测客户端是否安装程序需要利用ActiveX控件。 要额外注意的是,现在转载 2012-07-30 17:33:17 · 10329 阅读 · 7 评论 -
透明窗口与不规则窗口制作方法总结
透明窗口与不规则窗口制作方法总结:Layered窗口: 1.使用GDI读取bmp图片, 只要用SetLayeredWindowAttributes设置mask color就可以制作不规则窗口了. 2.使用GDI+读取任意格式图片, 用SetLayeredWindowAttributes设置mask color, 不可以使某一颜色透明, 只能用RGN来做不规则窗口. 3.使用GDI+转载 2012-09-21 15:43:29 · 1725 阅读 · 0 评论 -
DataGridView控件用法合集
http://0xmiracle.sinaapp.com/blog/?p=16http://0xmiracle.sinaapp.com/blog/index.html1. DataGridView当前的单元格属性取得、变更2. DataGridView编辑属性3. DataGridView最下面一列新追加行非表示4. DataGridView判断当前选中行是否为转载 2008-08-27 16:06:00 · 12155 阅读 · 10 评论 -
英雄会第二届在线编程大赛·线上初赛:AB 题解
给定两个正整数a,b,分别定义两个集合L和R,集合L:即把1~a,1~b中整数乘积的集合定义为L = {x * y | x,y是整数且1 集合R:1~a,1~b中整数异或的集合定义为集合R = {x ^ y | x,y是整数且1 现从L中任取一个整数作为A,从R中任取一个整数作为B,如果必要在B的左边补0,使得B达到:“b的位数+1”位(十进制),然后把B接到A的右边,形成原创 2013-12-22 15:27:30 · 1334 阅读 · 6 评论 -
Win8 Metro Thread.Sleep实现方式
await Task.Delay(TimeSpan.FromSeconds(30));原创 2014-01-09 15:08:13 · 1588 阅读 · 0 评论 -
Win8 文件相关操作
1.文件选择var openPicker = new FileOpenPicker { ViewMode = PickerViewMode.Thumbnail, SuggestedStartLocation = PickerLocationId.ComputerFolder原创 2014-02-24 18:08:21 · 1365 阅读 · 0 评论 -
Win8 Metro C# 调用 C++代码
在写Win8 Store App 的时候,可能遇到需要调用C++的代码。比如有个压缩算法,Lz77,有C++的实现,改成C#实现需要很多时间,所以通过C++/CX包装一下,C#就能直接调用C++的实现了。首先创建C++静态库。必须使用extern “C”,同时使用#pragma once还避免重复include,用#ifndef __SOMEFILE_H__方式可能会报链接错误。原创 2014-02-28 00:15:43 · 2244 阅读 · 0 评论 -
Win8 获取硬盘剩余空间
保存文件的时候,经常需要判断一下是否磁盘空间不足。在Metro下有个API[DllImport("kernel32.dll", SetLastError = true)] public static extern bool GetDiskFreeSpaceEx( string lpDirectoryName, out u原创 2014-03-31 10:50:18 · 1684 阅读 · 0 评论 -
win8 metro HttpClient下载文件-带进度条
HttpClient 直接下载文件,如果文件比较大,没有进度显示会很不友好,所有在下载的时候希望下载一部分就显示一下进度。代码的重点是HttpCompletionOption.ResponseHeadersRead以及ReadAsStreamAsync对于dispose,也可以用using。var saveFile = await ApplicationData.Curre原创 2014-03-26 10:19:35 · 3337 阅读 · 0 评论 -
C# winrt 调试C++/CX
win8应用调用C++老是进不去断点。。。。。。原来设置在这里。。。。原创 2014-06-13 18:23:18 · 6632 阅读 · 0 评论 -
tcp/ip调优
原地址 骡骡 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转载 2011-03-08 10:15:00 · 1022 阅读 · 0 评论 -
判断是否是Guest用户
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 ConvertSi原创 2010-12-27 13:38:00 · 974 阅读 · 0 评论 -
visualstudio 比较和merge工具命令行配置
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=%7KDiff3kdiff转载 2010-06-23 09:38:00 · 3726 阅读 · 0 评论 -
软件皮肤 IrisSkin
在XP番茄花园时代之前,我用过StyleXp来美化操作系统,可以切换很多风格。而现在的软件很多也都有皮肤系统,我一直想知道他们是怎么做的,但是没弄明白。最近看了一下IrisSkin这个使用简单的给软件加上皮肤的库,觉得不错,存个档先。 IrisSkin使用很简单。main方法: static void Main() ...{ Appli原创 2008-05-12 23:11:00 · 1518 阅读 · 0 评论 -
C# VS C 解惑 代码规范
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;原创 2008-05-27 22:35:00 · 895 阅读 · 0 评论 -
DataGridView 闪烁
DataGridView 功能很强,但是闪烁的问题太严重了,特别是自己 CellPainting以后。所以我们用双缓冲,SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true),但是这样当改变列宽的时候,那个竖着的基准线又闪原创 2008-08-27 14:23:00 · 2587 阅读 · 0 评论 -
C# String StringBuider 解惑
一个常问的问题: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个对象。而原创 2008-06-03 22:38:00 · 2883 阅读 · 1 评论 -
NHibernate 操作原生SQL以及查询DataTable,DataSet
public void ExecuteNonQuery(string sql) { ISession session = null; ITransaction transaction = null; try { sess原创 2008-09-28 15:12:00 · 3017 阅读 · 2 评论 -
C# AOP实现
using System;using System.Collections.Generic;using System.Text;using System.Runtime.Remoting.Proxies;namespace Aop{ public class AopAttribute : ProxyAttribute { public原创 2009-05-05 16:33:00 · 4210 阅读 · 0 评论 -
C# MenuStrip Visible=false bug的解决方案
自从VS2005以后,MS推荐用MenuStrip来代替原来的MainMenu,但是MenuStrip在设置菜单项Visible=false后,表面上看是好用的,实际上键盘上下移动菜单却会出现空白的现象。。。。。。 /// /// MenuStrip当设置Visible的时候,键盘上下移动菜单会出现空白的bug /// MS说: Please also note原创 2009-07-29 13:02:00 · 2927 阅读 · 4 评论 -
zz Internet 技术演变图
转载 2009-08-12 13:25:00 · 719 阅读 · 0 评论 -
ToolStripSplitButton Checked 效果
ToolStripSplitButton 系统默认没有Checked效果,MS又说他们没时间改。只能自己处理一下了。 重载OnPaint(PaintEventArgs e)if(Checked) Rectangle rect = ButtonBounds; using (Brush br = new L原创 2009-09-03 11:43:00 · 3040 阅读 · 0 评论 -
学习一种新编程语言要做的15个练习
虽然我已经可以使用很多种编程语言进行工作,但我的工作常常会要求我快速掌握一门新的语言。我没有选择去阅读几百页的程序手册,而是快速浏览10到15页的教程(可以在Google中搜索),并把程序语言的语法参考说明印在小卡片上(在google里搜索language to learn+reference card就能找到)。首先,我会熟悉这种程序语言的编译器、编译选项、编辑器或集成开发环境的的快捷键和小转载 2009-10-21 14:28:00 · 1206 阅读 · 0 评论 -
Excel匯入匯出整理
http://www.dotblogs.com.tw/killysss/archive/2009/11/23/12111.aspxExcel匯入匯出整理<br />參考資料很多=.=,感謝各位大大無私的分享(洪爺早餐店…)<br />整理一下結果<br />取得所有worksheet名稱view sourceprint?01/// <summary> 02/// Gets the name of all sheet. 03/// </summary> 04/// <param name="FName">Na转载 2010-07-29 10:28:00 · 1368 阅读 · 0 评论 -
开源多语言公历农历转换
Lunar Solar Calendar Converter公历(阳历) 农历(阴历)转换,支持时间段从1900-2100如果需要更长的时间段,利用generate.htm生成的数据即可。支持各种编程语言 C#,java,Objective-C,php,Python,javascript(nodejs),C/C++,ruby,swift等支持Mac,Windows,An原创 2015-01-19 14:00:22 · 11197 阅读 · 1 评论