c#
文章平均质量分 61
spiderlily
因缘际会,无是无非
展开
-
C#学习笔记: 运算符重载、override、get和set访问器
最近工作需要,得学习C#,Windows API的学习只好暂时告一段落。面象对象没基础,记点小白记录,直接从C#100例上拿的程序,因为涉及到运算符重载、override、get和set访问器,都是我不会的,摘出来记一笔。其实很多东西放在程序里学习都要比看一堆文字容易理解的多,感谢这本教程:using System;using System.Collections.Generic;原创 2012-12-18 11:41:51 · 3013 阅读 · 0 评论 -
PrintWindow截取隐藏窗口
最近工作遇到截图问题,开始用的BitBlt,可是一旦窗口被覆盖或者显示一半,用BitBlt就解决不了了。PrintWindow的好处就在这,只要想截的窗口不是最小化,无论在屏幕外还是只显示一半还是被覆盖,都可以成功截取我们想要的部分。C#代码如下:(网上代码有些缺陷,略做修改) public static Bitmap GetWindow(IntPtr hWnd)原创 2013-01-28 13:20:28 · 19148 阅读 · 4 评论 -
转:C#隐藏按钮选中矩形框
public void HideFocusCues(Control control)//这里是关键,访问父类的私有成员 { Type vType = typeof(Control); FieldInfo vFieldInfo = vType.GetField("uiCuesState", Bin转载 2013-05-03 10:51:40 · 1560 阅读 · 0 评论 -
C#处理图片效率问题
以下是用两种实现取bmp图亮度的算法1. public double GetBrightness(Bitmap bmp) { double brightness = 0; Rectangle lightBox = new Rectangle(0, 0, bmp.Width,bmp.Height);原创 2013-05-24 11:00:26 · 1318 阅读 · 0 评论 -
C#调用dll方法
刚学C#,发现两种调用dll的方式,开始不清楚有什么区别,网上查普遍说的比较复杂,在这里做个简要的理解说明。dll文件可分为托管和非托管两种。C#调用托管dll方法很简单,解决方案--引用--右键--添加引用--浏览,找到要调用的dll添加,然后在代码中添加using ***(dll文件名,不要加扩展名)即可。如果是非托管dll,调用方法如下:[DllImport("***.dl原创 2013-01-21 10:40:36 · 1271 阅读 · 0 评论 -
C#实现打印机功能
1.窗体添加一个button2.代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System原创 2013-04-27 10:47:18 · 1210 阅读 · 0 评论 -
转:一个实例明白AutoResetEvent和ManulResetEvent的用法
这篇文章的原作者真是太有才了~~转自:http://www.xhinker.com/2009/07/24/DotNet%E4%B8%80%E4%B8%AA%E5%AE%9E%E4%BE%8B%E6%98%8E%E7%99%BDAutoResetEvent%E5%92%8CManulResetEvent%E7%9A%84%E7%94%A8%E6%B3%95.aspxpublic clas转载 2013-01-31 10:56:41 · 988 阅读 · 0 评论 -
AutoResetEvent和ManualResetEvent
C#的线程中常用到的两个东西,MSDN给的翻译实在不便于理解,通俗点解释一下。1. ManualResetEvent manualResetEvent = new ManualResetEvent(false); manualResetEvent.WaitOne(); 代码A 。。。 这里的false相当于初始时没有资源即Reset()状态的,调原创 2013-04-11 16:37:52 · 800 阅读 · 0 评论 -
转:c#中跨线程调用windows窗体控件
转自:http://www.cnblogs.com/txw1958/archive/2012/08/21/csharp-crossthread-widget.html我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。(第三部分代码略作修改)首先来看传统方法: publ转载 2013-03-20 15:24:20 · 821 阅读 · 0 评论 -
C#实现毫秒级计时器
C#的Timer是典型的好看不好用,虽然Interval的最小值可以写1,但实际精度却只能达到几十毫秒。当我们需要毫秒级的计时器的时候,就只能想别的办法了。网上可以查到很多解决办法,下面只写我用的一种,精度可至1ms. [DllImport("winmm")] static extern uint timeGetTime(); [Dll原创 2013-04-12 10:19:24 · 11842 阅读 · 0 评论 -
转:C#继承之base,virtual,override,abstract,new,sealed关键字
转自:http://www.cnblogs.com/YuanSong/archive/2012/07/20/2601224.html1.base 关键字Base 关键字用于从派生类中访问基类中的成员:调用基类上已被其他方法重写的方法,指定创建派生类实例时应调用的基类构造函数。有的时候甚至可当作初始化来用。但是不能再静态方法中使用base关键字。2.virtual,override,转载 2012-12-18 22:43:43 · 662 阅读 · 0 评论