C#
文章平均质量分 80
逍遥子(。ˇε ˇ。)
上善若水
展开
-
十个最好的PDF生成库
1)FPDFhttp://www.fpdf.org/。这是一个纯PHP的库,它没有使用PDFlib。完全免费。没有任何license的限制。 2)iTexthttp://www.lowagie.com/iText/。 这是一个基于Java的库。iText#则是一个基于.NET的库。使用MPL/LGPL的license。 3)AlivePDF转载 2012-06-08 15:21:41 · 2175 阅读 · 0 评论 -
C#构造方法重载
在C#中,构造函数可以使用 this 关键字调用同一对象中的另一构造函数。和 base 一样,this 可带参数使用也可不带参数使用,构造函数中的任何参数都可用作 this 的参数,或者用作表达式的一部分。namespace OOPExample{ class Program { static void Main(string[] args)转载 2012-08-02 11:21:40 · 865 阅读 · 0 评论 -
C# 为Panel控件增加双缓冲
为控制增加双缓冲的目的为了在重绘时避免闪烁. Panel类的setStyle 方法不是Public的. 所以我们需要自定义一个Panel类,在其构造函数中定义setStyle.this.SetStyle(ControlStyles.AllPaintingInWmPaint | //不擦除背景 ,减少闪烁 ControlStyles.转载 2012-08-03 12:08:14 · 3987 阅读 · 0 评论 -
C#常见错误及解决方案
以下“解决方案”中的内容对应的是“错误信息”中内容的解决方法。1. 编译器错误 CS0003?? 错误信息内存不足。?? 解决方案编译器无法分配足够的虚拟内存完成编译。关闭所有不必要的应用程序并重新编译。可能还需要增加页文件的大小,请确保有可用的磁盘空间。当 .NET Framework SDK 与 C# 编译器的版本不匹配时,或者当一个或多个支持 C# 编译器的文件损转载 2012-08-02 18:53:07 · 27762 阅读 · 0 评论 -
C# 关闭程序
this.Close() ; //关闭当前窗体或对象 Application.Exit(); //关闭所有应用程序窗口如果启动了多线程,就需要用下面的方法来关闭了:C#通过Application.Exit(); 无法退出单独开启的线程,通过 Environment.Exit(0); 可以解决问题。下面的方法,也是关闭的,仅供参考///转载 2012-08-03 11:45:45 · 1022 阅读 · 0 评论 -
C# 如何得到指定打印机的端口号
问题.Net Framework 1.1给我们提供了一个PrinterSettings类,以提供指定有关文档打印方式的信息,其中包括打印文档的打印机。其中的静态属性InstalledPrinters可以使我们获取安装在计算机上所有打印机的名称。但是可惜的是,该属性仅仅能够提供已安装的打印机的名称。对于获取该打印机的相关信息(如打印机类型等)却无能为力。问题就产生了,由于客户无法提供打印机的转载 2012-08-03 11:50:57 · 4931 阅读 · 0 评论 -
C#调用C++的DLL搜集整理的所有数据类型转换方式
//C++中的DLL函数原型为 //extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char* 变量名2) //extern "C" __declspec(dllexport) bool 方法名二(const unsigned char* 变量名1, char* 变量名2转载 2012-08-03 17:27:39 · 931 阅读 · 0 评论 -
C# 屏幕分辨率
Screen.PrimaryScreen.Bounds.Width;//电脑屏幕的宽Screen.PrimaryScreen.Bounds.Height;//电脑屏幕视频的高Rectangle rect; //判断是否是双屏 if (Screen.AllScreens.Length == 2)转载 2012-08-03 11:48:22 · 965 阅读 · 0 评论 -
C# 图片处理之:旋转图片任意角度
拍摄的数码相片偶尔也有拍歪的时候。没关系,我们还是可以用C#来处理图片。 /// /// 任意角度旋转 /// /// 原始图Bitmap /// 旋转角度 /// 背景色 /// 输出Bitmap public static Bitmap KiRot转载 2012-08-03 11:52:04 · 1455 阅读 · 0 评论 -
C#调用C++ DLL数据类型转换
//c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byte(unsigned char) ---- c#:System.Byte //c++:SHORT(short) ---- c#:System.Int16 //转载 2012-08-03 11:54:47 · 803 阅读 · 0 评论 -
assert functions in C/C++/C#
I just had several small tests. Here is a summary to the assertion related APIs we are using in our product.Assert Function Commentsa转载 2012-08-03 14:21:42 · 859 阅读 · 0 评论 -
HOW TO:在 Visual C++ .NET 中从 System::String* 转换为 Char*
概要本文介绍使用 Visual C++ .NET 中的托管扩展从 System::String* 转换为 char* 的若干方法。 方法 1PtrToStringChars 指定了一个指向实际 String 对象的内部指针。如果将此指针传递给非托管函数调用,则必须先锁定该指针,以确保在进行异步垃圾回收过程中对象不会移动://#include System::S转载 2012-08-06 11:27:26 · 890 阅读 · 0 评论 -
How to convert array<System::Byte> to char* in C++ CLR?
In my project, I pass a byte[] from C# to C++ CLR function.C++ CLR code:void TestByteArray(arraySystem::Byte>^ byteArray){ ...}C# code:byte[] bytes = new byte[128];...TestByteArra转载 2012-08-06 15:28:21 · 2112 阅读 · 0 评论 -
Convert byte array to char* in a clr wrapper
I have written a C++ wrapper function in CLR that calls a C# .dll to use in unmanaged C++. After calling the C# .dll, I want to copy (Marshal) the data into a struct to use in the unmanaged C++. Here转载 2012-08-06 15:46:56 · 2596 阅读 · 0 评论 -
Conversion of C++/CLI array of strings to native C++ char**
In C++/CLI, What's the most efficient way to convert an array of strings to native char**?I am doing this:arrayString^>^ tokenArray = gcnew arrayString^> {"TokenONE", "TokenTWO"};int numTokens转载 2012-08-06 11:24:35 · 1740 阅读 · 0 评论 -
C# comboBox 添加items
添加下拉列表的条目数目,例子: 罐号为1-255号罐,为罐号添加可以选择1-255个罐的可以选择的item,罐号的comboBox的Name是 comboBox1,从1号罐添加到255号罐。 for (int i = 1; i { comboBox1.Items.Add(i.ToString()); }comboBox1转载 2012-08-06 12:11:42 · 7412 阅读 · 0 评论 -
array<Byte>^ TO unsigned char* :: Marshall class - Interop Issue
I wanted to convert array^ to unsigned char*. I have tried to explain what i have done. I donot know how to proceed further. Please show me the right approach. I am using MS VC 2005.//Managed array转载 2012-08-06 14:35:15 · 1333 阅读 · 0 评论 -
How to: Load Unmanaged Resources into a Byte Array
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]This topic discusses several ways to load unmanaged resources into a转载 2012-08-06 15:33:25 · 726 阅读 · 0 评论 -
C# 窗口句柄有关的常见问题
1、如何获得一个窗口的句柄?例如获取窗口PictureBox控件(其他控件也可以)的句柄,IntPtr handle = pictureBox.Handle;2、注意:窗口创建和窗口创建完毕即有句柄完全是两回事!!!窗口创建时,窗口并没有创建句柄,只有Application.Run(form)或者form.Show()之后才有句柄,即窗口只有显示或者启动消息循环后才有句柄!转载 2012-07-26 11:16:02 · 1523 阅读 · 0 评论 -
C# hide sip
using Systemusing System.Runtime.InteropServicesusing System.Windows.Formsusing System.Textnamespace TestApp/// /// Provides an interface to hide and show the SIP, SIP button, and the转载 2012-07-26 11:24:26 · 1419 阅读 · 1 评论 -
C# char[] 与 string之间的转换
string 转换成 Char[] string ss="abcdefg"; char[] cc=ss.ToCharArray();Char[] 转换成string string s=new string(cc);此外,byte[] 与 string 之间的装换 byte[] bb=转载 2012-07-26 11:01:27 · 748 阅读 · 0 评论 -
利用Visual C#开发一个媒体播放器
利用Visual C#开发一个媒体播放器---------------------------------摘要:了解如何在 Microsoft Visual C# .NET 中使用 DirectShow 控件,如何开发一个媒体播放器。按照本文介绍的操作步骤,您可以创建一个简单 Visual C# 应用程序,用来播放数字音频和视频。 简介 Microsoft Visua转载 2012-07-26 11:06:48 · 2008 阅读 · 0 评论 -
Automatic Application Wait Cursor
http://www.codeproject.com/Articles/9822/Automatic-Application-Wait-Cursor转载 2012-07-26 11:11:10 · 799 阅读 · 0 评论 -
C# DirectShow 通过 IAMVideoProcAmp 设置视频属性
修改部分1.//在Capture的构造函数中和SetupGraph函数中// 增加亮度传入参数int iBrightnessprivate void SetupGraph(DsDevice dev, int iWidth, int iHeight, short iBPP, Control hControl,int iBrightness){...}转载 2012-07-26 11:14:57 · 3184 阅读 · 0 评论 -
C# OpenCV 初体验
2011/05/17 在 Visual Studio 2010 使用 OpenCV 對於 WebCam 有問題的話,請參考以下連結http://social.msdn.microsoft.com/Forums/zh-TW/230/thread/d1647ae6-7f61-453e-818a-2fa4f52592bb 一、簡介以前研究所的時候,有使用VC.NET 配合 OpenCV转载 2012-07-26 11:18:11 · 3218 阅读 · 1 评论 -
C# 返回结构体为空的解决办法
适用情况:(1) 函数的返回类型是一个结构体(如StructA),而这个返回值有可能为空。此时不能直接返回null或者0,否则编译器会报错:无法将null或者0隐式转成结构体StructA,因为它不是一种可以为null值的类型。public struct StructA{}public StructA GetStruct(){ if()转载 2012-07-26 12:15:03 · 3591 阅读 · 0 评论 -
C#从视频截图的方法
下边是截图CatchImg方法,可从大多数的视频文件中截图成功,大家可测试;如果截图不成功,大多是因为视频本身的问题,如编码标准或加了密.但从在线录制的视频Flv文件中截图,还未发现截图失败;/// /// @从视频文件截图,生成在视频文件所在文件夹/// 在Web.Config 中需要两个前置配置项:/// 1.ffmpeg.exe文件的路径/// /// 2转载 2012-07-26 11:08:17 · 2342 阅读 · 0 评论 -
C# DirectShow 播放多媒体
要使 C# 代码引用 COM 对象和接口,需要在 C# 内部版本中包含 COM 接口的 .NET 框架定义。完成此操作的最简单方法是使用 TlbImp.exe(类型库导入程序),它是一个包括在 .NET 框架 SDK 中的命令行工具。TlbImp 将 COM 类型库转换为 .NET 框架元数据,从而有效地创建一个可以从任何托管语言调用的托管包装。用 TlbImp 创建的 .NET 框架元数据可以通转载 2012-07-26 11:08:39 · 756 阅读 · 0 评论 -
C# 实现磁性窗口(附源码和程序)
实现并封装了磁性窗口类MagneticMagnager,实现磁性窗口仅仅需要调用一行代码:MagneticMagnager test2 = new MagneticMagnager(this, fm2, MagneticPosition.Top);插图:具体操作:1.新建winform项目MagneticForm,并添加磁性窗口操作类MagneticMagnag转载 2012-07-27 13:35:33 · 1455 阅读 · 1 评论 -
C#调用C++的类
这里讲C#调用C++的类,也是我真正想要的做的。网上关于这方面的知识挺杂,我折腾了好久终于搞定了。大致有两种方法。第一种C#直接调,用到System.Runtime.InteropServices中的Marshal类,貌似这样可能通过直接操纵内存来实现调用,但我没有尝试;第二种方法是用managed C++包装native C++,然后供C#调用。这里详细讲一下这种方法,并基本考虑到了转载 2012-07-27 17:41:38 · 862 阅读 · 0 评论 -
在Visual C#中使用XML指南之读取XML
对于XML,想必各位都比较了解,我也就不用费笔墨来描述它是什么了,我想在未来的Web开发中XML一定会大放异彩,XML是可扩展标记语言,使用它企业可以制定一套自己的数据格式,数据按照这种格式在网络中传输然后再通过XSLT将数据转换成用户期望的样子表示出来,这样便轻易的解决了数据格式不兼容的问题。用于Internet的数据传输,我想,这是XML对于我们这些程序员最诱人的地方! 我们今天的转载 2012-07-27 17:46:38 · 865 阅读 · 0 评论 -
C# 动态调用DLL
本来是想实现控制台程序运行时自动全屏,但是只找到VC下的实现方法(http://www.vckbase.com/bbs/prime/viewprime.asp?id=347)。其中要使用两个未公开的Win32 API函数来存取控制台窗口,这就需要使用动态调用的方法,动态调用中使用的Windows API函数主要有三个,即:Loadlibrary,GetProcAddress和Freelib转载 2012-07-27 17:50:48 · 1006 阅读 · 0 评论 -
c#轻松实现磁性窗口
/// /// 磁性窗体函数/// /// 窗体控件(一般传this即可)/// 自定义的与屏幕边缘的距离/// 是否在屏幕工作区进行该操作(true表示不包括任务栏,false则包括整个屏幕的范围)public void Form_Welt(Control form, int space, bool isWorkingArea){ //获取窗体的左上角的x,转载 2012-07-27 13:50:52 · 844 阅读 · 0 评论 -
用VS2008生成C++代码的dll及在C#中的调用及常见的类型转换
新建项目->Visual C++->win32->Win32项目->输入项目名称->next->应用程序类型选dll,附加选项选上“导出符号”,添加公共头文件视情况可以加上MFC->完成。 此时生成的项目有示例代码,可以在原来的代码上修改。 需要注意的是: #define 项目名_API extern "C" _declspec(dllimport) 原来的宏定义可转载 2012-07-27 17:34:52 · 791 阅读 · 0 评论 -
C#程序实现动态调用DLL的研究
摘 要:在《csdn开发高手》2004年第03期中的《化功大法——将DLL嵌入EXE》一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资源中释放出来,通过静态加载延迟实现DLL函数的动态加载,程序退出后实现临时文件的自动删除,从而为解决“DLL Hell”提供了一种解决方案。这是一个很好的设计思想,而且该作者也用C++实现了,在Internet上也有相似转载 2012-07-27 17:38:57 · 812 阅读 · 0 评论 -
C# 中双击标题栏关闭WinForm程序
很简单的一个C#中双击标题栏关闭WinForm程序,估计很多人在写程序的时候用的着,程序代码只有段段的几行。没有事件,只能通过重写WndProc,过滤需要的消息来实现:public const int WM_NCLBUTTONDBLCLK = 0xA3;protected override void WndProc(ref Message m)转载 2012-07-31 11:39:33 · 2998 阅读 · 0 评论 -
使用C#钩子监视全局鼠标位置
首先要在焦点不在当前应用程序中也要获得鼠标位置,我们就需要使用全局鼠标钩子我们先新建一个类库GlobalMouseHook,然后导入命名空间:System.Windows.Forms;System.Runtime.InteropServices;将类重命名为MouseHook,其代码如下:[c-sharp:nogutter] view pla转载 2012-07-31 10:44:55 · 1973 阅读 · 0 评论 -
C#窗体无标题栏拖动
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namesp转载 2012-07-31 11:16:54 · 788 阅读 · 0 评论 -
C#文字随鼠标移动效果
1、WinForm中,左击后鼠标右侧会出现文字,会跟随鼠标一起移动。放开后效果消失。代码如下:private void Form1_MouseMove(object sender, MouseEventArgs e) { this.label2.Location = new Point(e.X + 10, e.Y); t转载 2012-08-01 11:56:57 · 3261 阅读 · 0 评论 -
C# winform 判断click事件点击的是左键还是右键
button.Click += new System.EventHandler(btn_Click);private void btn_Click(object sender, EventArgs e){//EventArgs继承自MouseEventArgs,所以可以强转MouseEventArgs Mouse_e = (MouseEventArgs)e;//点鼠标右转载 2012-08-01 17:33:04 · 10994 阅读 · 0 评论