
C#软件开发实例
文章平均质量分 78
以软件开发实例的方式展现C#语言在应用程序、网站开发方面的使用技巧。
普通网友
这个作者很懒,什么都没留下…
展开
-
C# 绘制箭头的方法,仿微信截图的箭头
C# 绘制箭头的方法,仿微信截图的箭头效果见下图,实际上还是有区别的,箭头的起点处微信的是圆端,而我实现的是尖端。说说我的实现吧,实现方法其实是划线,线的两端都要设置端点样式。看代码:Point _StarPoint = new Point(0, 0);Point _EndPoint = new Point(300, 300);System.Drawing.Drawing2...原创 2020-03-28 18:59:51 · 5053 阅读 · 1 评论 -
未能加载文件或程序集“System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依
完整错误信息错误 7 未能加载文件或程序集“System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 行 123,位置 5。 F:\CsProjects\CSharp实现SPY++\CSharp实现SPY++\Properties\Resour原创 2015-04-20 07:48:40 · 38550 阅读 · 0 评论 -
命名空间“System”中不存在类型或命名空间名称“Linq”。是否缺少程序集引用?
完整错误信息错误 1 命名空间“System”中不存在类型或命名空间名称“Linq”。是否缺少程序集引用? F:\CsProjects\CSharp实现SPY++\CSharp实现SPY++\Form1.cs 6 14 CSharp实现SPY++错误原因开始的时候创建项目选择的Framework版本是4.0,但后来为了项目的平台适应性,将Framework的版本改为了2.0,重新编译原创 2015-04-20 08:11:38 · 29501 阅读 · 3 评论 -
C# Windows API应用之FlashWindowEx ——实现窗口闪烁的方法
Windows APIWindows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源…之外, 它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application), 所以便称之为 Application Programming Interface,简称 API原创 2015-04-20 08:56:44 · 4510 阅读 · 1 评论 -
MFC窗口风格 WS Window Styles中文说明及在c#中的定义使用
窗口风格(Window style)WS_BORDER 有边框窗口 WS_CAPTION 必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用。指示窗口包含标题要部分。 WS_CHILD 说明窗口为子窗口,不能应用于弹出式窗口风格(WS_POPUP)。 WS_CHILDWINDOW 同WS_CHILD。 WS_CLIPCHILDREN 绘制父窗口时原创 2015-04-23 08:05:14 · 6366 阅读 · 1 评论 -
检测到 ContextSwitchDeadlock
错误信息检测到 ContextSwitchDeadlock Message: CLR 无法从 COM 上下文 0x622b440 转换为 COM 上下文 0x622b5b0,这种状态已持续 60 秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作。这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断原创 2015-04-24 21:38:32 · 9573 阅读 · 1 评论 -
Data Url生成工具C#版 第二版
为什么有第二版 首先感谢 jenlynn 同学的留言“DATA URL两种生成方式,C#和HTML5 两者同一张生成的base64编码貌似不一样,能有什么方法让他们达成一致吗”。 其次,在研究这个问题时发现了Bug和异常。 Bug:图片编码判断问题,不管什么扩展名的都默认使用了PNG编码。 异常:检测到 ContextSwitchDeadlock界面预览针对相关问题的改进方法图片编码判断问题原创 2015-04-25 07:29:22 · 3493 阅读 · 0 评论 -
c#TextBox输入框自动提示、自动完成、自动补全功能
功能概览相关属性TextBox.AutoCompleteCustomSource 属性获取或设置当 TextBox.AutoCompleteSource 属性设置为 [CustomSource] 时要使用的自定义 T:System.Collections.Specialized.StringCollection。TextBox.AutoCompleteMode 属性获取或设置一个选项,该选项控制自动原创 2015-04-26 22:05:03 · 42376 阅读 · 15 评论 -
C# Windows API应用之GetDesktopWindow ——获得桌面所有窗口句柄的方法
Windows APIWindows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源…之外, 它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application), 所以便称之为 Application Programming Interface,简称 API原创 2015-04-19 14:29:10 · 28584 阅读 · 6 评论 -
为什么Invalidate收到的ClipRectangle和发送的不一样
最近在研究c#局部刷新重绘的功能,来提高用户体验,但是在OnPaint事件中接收到的e.ClipRectangle和我在其它方法中调用mainForm.Invalidate(cutOutRect, false);时传递的大小不一致,经过一番排查才发现,是Windows底层做了处理!!!!我们来看图1:上面是调用mainForm.Invalidate(cutOutRect, false);前输出的信原创 2014-12-07 22:39:32 · 3137 阅读 · 0 评论 -
C# System.Drawing.Region类的方法使用图解
本实例使用两个矩形A和B来演示System.Drawing.Region类的各方法的功能。绘制两个矩形获取目标矩形与此Region不相交的部分获取此Region与目标矩形不相交的部分获取两个矩形的交集获取两个矩形的并集获取两个矩形的并集中不相交的部分将此 System.Drawing.Region 对象初始化为无限内部显示RegionData信息原创 2014-12-04 21:33:36 · 13189 阅读 · 6 评论 -
C# 带滚动条的Label控件
C# 带滚动条的Label控件,用鼠标选的时候还是有点闪烁:namespace 带滚动条的Label控件{ public class TextBoxLabel : System.Windows.Forms.TextBox { [DllImport("user32", EntryPoint = "HideCaret")] private static原创 2014-11-17 16:30:06 · 15114 阅读 · 0 评论 -
验证时出错。HRESULT = '8000000A'
这本来是在VS2005下创建的一下项目,后来改用VS2010的开发环境,.NET Framework的版本还是使用2.0,但每次生成之后都会在解决方案的同级目录下产生一个名称乱码的文件夹,解决了那个问题之后,由于这个Windows窗体应用程序添加一个安装项目,项目生成时出现以下错误:错误 1 验证时出错。HRESULT = '8000000A' F:\CsProjects\屏幕截图2005\屏幕截原创 2014-11-13 22:25:39 · 10981 阅读 · 0 评论 -
CSharp文件读取与写入入门图解
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(原创 2014-10-19 23:00:36 · 24438 阅读 · 2 评论 -
C# 模拟PrintScreen 和 Alt+PrintScreen截取屏幕图片
C# 模拟PrintScreen 和 Alt+PrintScreen截取屏幕图片keybd_event API函数功能:该函数合成一次击键事件。系统可使用这种合成的击键事件来产生WM_KEYUP或WM_KEYDOWN消息,键盘驱动程序的中断处理程序调用keybd_event函数。在Windows NT中该函数己被使用SendInput来替代它。函数原型;VOID keybd_event...原创 2014-10-03 23:42:46 · 9543 阅读 · 2 评论 -
C#新建DataColumn类时Type类型参数的生成方式
DataColumn类的几个需要Type类型参数的构造函数如下: // // 摘要: // 使用指定列名称和数据类型初始化 System.Data.DataColumn 类的新实例。 // // 参数: // columnName: // 一个字符串,它表示要创建的列的原创 2014-07-26 11:29:42 · 30779 阅读 · 0 评论 -
用Visual Studio 2010编写Data Url生成工具C#版
什么是Data Url呢?Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。那么如何才能生成Data Url呢?今天我就教大家自己用Visual Studio 2010打造一款Data Url生成工具的方法。原创 2014-06-12 00:28:18 · 23129 阅读 · 0 评论 -
C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限 //给Excel文件添加"Everyone,Users"用户组的完全控制权限 FileInfo fi = new FileInfo(excelPath); System.Security.AccessControl.FileSecurity fileSecurity原创 2014-05-10 23:56:32 · 19142 阅读 · 4 评论 -
C#使用oledb连接excel执行Insert Into语句出现“操作必须使用一个可更新的查询”的解决办法
我发生错误时的环境:Windows 7,Framework 4、0,Microsoft Office 2007,VS2010,c# WinForm;部分代码: string strConn = "Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;" + "data source=" +原创 2014-05-10 18:37:22 · 20201 阅读 · 17 评论 -
关于OleDB连接Excel的Extended Properties(扩展属性)HDR=YES; IMEX=2个人理解心得
最近在用C#写一个创建Excel并将数据导出到Excel的WinForm程序,让我对OleDB连接Excel的Extended Properties(扩展属性)HDR=YES; IMEX=2有了深刻的认识!参数HDR的值:HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES参数Excel 8.0 对于Excel 97以上原创 2014-05-10 18:02:39 · 28160 阅读 · 0 评论 -
C#二进制字节数组操作函数 截取字节数组SubByte
C#二进制字节数组操作函数 截取字节数组SubByte /// /// 截取字节数组 /// /// 要截取的字节数组 /// 开始截取位置的索引 /// 要截取的字节长度 /// 截取后的字节数组 public byte[] SubByte(byte[] srcByt原创 2014-05-08 09:24:25 · 9719 阅读 · 0 评论 -
C# 二进制字节流查找函数IndexOf
C# 二进制字节流查找函数IndexOf /// /// 报告指定的 System.Byte[] 在此实例中的第一个匹配项的索引。 /// /// 被执行查找的 System.Byte[]。 /// 要查找的 System.Byte[]。 /// 如果找到该字节数组,则为 searchBytes 的索原创 2014-05-08 09:19:57 · 10055 阅读 · 1 评论 -
无效的 URI: 未能分析证书颁发机构/主机
无效的 URI: 未能分析证书颁发机构/主机出现该错误的原因是URL中少了一个斜杠,正常的URL是“http:”后边有两个斜杠,而我在修改配置文件中的URL的IP地址部分时,不小心删掉了一个斜杠,例如:http:/blog.youkuaiyun.com/testcs_dn,这样的Url在Chrome地址栏中输入访问是没有任何问题,但是在用C#写的程序中调用该URL的时候,却现在异常:无效的 URI:原创 2014-04-25 21:17:09 · 13236 阅读 · 0 评论 -
警告:由于xxx是引用封送类的字段,访问上面的成员可能导致运行时异常
在实现“C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能”功能时,遇到警告:由于“Screenshot.Form1.ZoomBoxHeight”是引用封送类的字段,访问上面的成员可能导致运行时异常解决方案:对字段对待封装:在需要封装的字段上单击鼠标右键,重构》封装字段:输入属性名:使用默认设置,单击应用原创 2014-04-25 15:12:05 · 13735 阅读 · 4 评论 -
C#默认以管理员身份运行程序
一、通过配置文件实现以管理员身份运行程序Vista 和 Windows 7 操作系统为了加强安全,增加了 UAC(用户账户控制) 的机制,如果 UAC 被打开,用户即使是以管理员权限登录,其应用程序默认情况下也无法对系统目录,系统注册表等可能影响系统运行的设置进行写操作。这个机制大大增强了系统的安全性,但对应用程序开发者来说,我们不能强迫用户去关闭UAC,但有时我们开发的应用程序又需要原创 2013-08-11 19:13:30 · 20143 阅读 · 5 评论 -
DataGridView - DataGridViewCheckBoxCell的使用
Datagridview是.net中最复杂的控件,由于人们对表格的格式要求多种多样,所以编写一个通用的Datagridview(类似JSF中的datatable)非常困难的。Datagridview中,用户可以对行、列、单元格进行编程。如行中可以插入下拉列表、复选框、编辑框、单选框等多种控件。每种控件都以DataGridView开头。如:单选框类为DataGridViewCheckBo原创 2013-06-15 13:32:03 · 16241 阅读 · 2 评论 -
C#操作IIS创建应用程序池出现异常:无效索引(Exception from HRESULT:0x80070585)
在使用C#操作IIS创建应用程序池出现异常:无效索引(Exception from HRESULT:0x80070585)相关代码:public static string CreateAppPool(string appPoolName, string frameworkVersion, string managedPipelineMode) {原创 2013-05-02 16:42:34 · 5380 阅读 · 0 评论 -
c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹
c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹本文章源代码Src下载地址:http://download.youkuaiyun.com/detail/testcs_dn/5141580开始菜单》程序菜单项:添加到收藏夹: 相关函数代码:public const int SW_SHOWNORMAL = 1; /// /原创 2013-03-14 17:52:58 · 24364 阅读 · 5 评论 -
AppDomain与Assembly的动态加载与卸载
为了将问题描述清楚,我们先来看一个例子。在这个例子中,WinForm上有一个按钮,当用户点击这个按钮后,就会装载一个已经存在的Assembly,并且在界面的Label控件上显示出这个Assembly的FullName。对Reflection稍微熟悉一点的朋友都知道,这是非常简单的事情,只需要用Assembly.LoadFile方法获得Assembly,然后用FullName属性来显示即可,比如下面原创 2013-03-08 16:41:36 · 13729 阅读 · 7 评论 -
如何自动以管理员身份运行.NET程序?
windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等。否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛出异常。 如何让程序在启动时,自动要求“管理员”权限了,我们只需要修改app.manifest文件中的配置项即可。 app.manifest文件默认是不存在的,我们可以通过以下操作来自原创 2013-03-05 14:17:38 · 2908 阅读 · 0 评论 -
C#多线程编程实例 线程与窗体交互
C#多线程编程实例 线程与窗体交互代码: public partial class Form1 : Form { //声明线程数组 Thread[] workThreads = new Thread[10]; public Form1() { InitializeComponent();原创 2014-07-10 22:49:16 · 32057 阅读 · 0 评论 -
c#Winform程序的toolStripButton自定义背景应用示例源码
C# Winform程序的toolStrip中toolStripButton的背景是蓝色的,如何改变背景及边框的颜色和样式呢?实现此功能需要重写toolStripButton的Paint方法这里只是给出解决问题的思路和方法,如下图,当鼠标移到按钮上,背景会变为黑色实现代码如下: ToolStripButton tsb = (ToolStripButton)sender;原创 2014-07-14 13:43:05 · 5877 阅读 · 0 评论 -
C#数学运算表达式解释器
C#数学运算表达式解释器测试文件内容:a=2+3*2;b=2*(2+3);浏览按钮事件处理程序: private void button_browse_Click(object sender, EventArgs e) { OpenFileDialog fbd = new OpenFileDialog(); fbd.T原创 2014-07-14 23:39:26 · 6402 阅读 · 1 评论 -
c#DataGridView数据绑定示例——格式化单元格的内容
c#DataGridView数据绑定示例 格式化单元格的内容在使用DataGridView显示数据库中的数据时,我们需要对某列的数据显示格式进行格式化。这里使用实时构建的数据,如下图:在显示时对第三列的数据进行格式化,如下图:测试数据构建及数据绑定: private void Form1_Load(object sender, EventArgs e) {原创 2014-07-15 22:45:39 · 25704 阅读 · 0 评论 -
C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包含鼠标指针形状
本实例全部文章目录(一)功能概览(二)创建项目、注册热键、显示截图主窗口(三)托盘图标及菜单的实现(四)基本截图功能实现(五)针对拖拽时闪烁卡顿现象的优化(六)添加配置管理功能(七)添加放大镜的功能(八)添加键盘操作截图的功能(九)使用自定义光标,QQ截图时的光标(十)在截图中包含鼠标指针形状在写一此帮助说明类的文档时,截取的图片...原创 2014-06-21 23:14:24 · 8231 阅读 · 6 评论 -
C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标
在使用QQ的截图功能的时候,是不是觉得它的光标很酷呢?今天就说一下怎么应用自定义光标,在我们的截图工具中使用QQ截图的光标。打开资源:切换到文件资源视图:打开资源文件目录,将光标文件复制到此目录下:选中Resources目录,刷新,显示出刚刚复制进来的光标文件:选中光标文件,拖动到资源的文件视图中:资源资源名称中的单词第一个字母改为大写。光标预览:在Form1类中添加私有变量:原创 2014-06-14 23:55:43 · 5005 阅读 · 2 评论 -
C#软件开发实例.私人订制自己的屏幕截图工具(八)添加键盘操作截图的功能
上一篇:C#软件开发实例.私人订制自己的屏幕截图工具(七)添加放大镜的功能虽然添加了放大镜的功能,但是在进行像素级的定位时,还是不容易精确定位,在用鼠标操作时要改变一两个像素的位置还是有些困难的。处理键盘按下事件 /// /// 处理键盘按下事件 /// 用于实现以下功能: /// 当用户按下Esc键时,退出截图过程;原创 2014-06-13 22:09:26 · 3988 阅读 · 0 评论 -
C#软件开发实例.私人订制自己的屏幕截图工具(七)添加放大镜的功能
上一篇:C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能由于截图时可能需要精确截取某一部分,所以需要放大镜的功能,这样截取的时候才更容易定位截图的位置。添加PictureBox,name属性设置为“pictureBox_zoom”;在“Form1_Load”事件处理函数中添加以下代码://设置放大镜的大小 this.pictureBox_zoom.Widt原创 2014-06-13 21:11:28 · 7445 阅读 · 10 评论 -
C#创建Excel文件并将数据导出到Excel文件
C#创建Excel文件,这里实际上是从资源中提取一个事先创建好的Excel文件,文件提取成功后,使用OleDb方法连接Excel,向Excel文件中写入数据。创建解决方案菜单》新建》项目》Windows窗体应用程序:添加相关组件:添加两个DataGridView,一个TextBox,两个按钮 ,如下图:添加Excel资源:先在文件夹中新建一个Excel文件,在Sheet1表的第一行设置列名:双击“原创 2014-05-10 23:19:44 · 48934 阅读 · 5 评论 -
C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能
程序要做到用户配置的灵活性,就需要添加配置管理功能,这里使用.NET的应用程序配置文件app.config来保存配置信息,.NET Framework提供了对配置文件读写的良好支持。要实现配置文件的读取功能,需要引用System.Configuration命名空间。提供源码下载,有源有真相。原创 2014-04-25 14:57:44 · 5377 阅读 · 1 评论