C#
congduanxd
每天进步一点点
展开
-
AForge.NET Framework ,留着以后用
Visit official AForge.NET Framework's website for all the latest information about the project.AForge.NET Framework is a C# framework de原创 2011-09-06 23:18:25 · 3385 阅读 · 2 评论 -
研究生成绩查询桌面软件
根据师兄师姐的经验,研究生学生成绩查询系统有个“漏洞”:查询成绩的URL是直接GET参数。参数格式如下:param=studentid=xdleess20130621zq$stuid$°reecourseno=#classid#因此, 可以直接通过更改stuid和classid来实现多门课程成绩查询和多人同一门成绩查询。上学期期末期间抽空用C#做出PC桌面查询软件如下:原创 2014-02-23 17:50:19 · 2270 阅读 · 0 评论 -
WPF绘制深度不同颜色的3D模型填充图和线框图
在机械测量过程中,测量的数据需要进行软件处理。通常测量一个零件之后,需要重建零件的3D模型,便于观察测量结果是否与所测工件一致。重建的3D模型需要以填充图和线框图两种方式切换显示,其中填充图的材质需要根据不同深度进行着色,线框图需要消隐(不能透视)。以圆柱为例,如下图:由于WPF对DirectX进行了封装,并构建出一套简单的3D绘图框架,因此我们可以快速的创建所需要的3D模型,便于像我原创 2014-03-13 22:10:40 · 8498 阅读 · 0 评论 -
Sqlite for .NetFx 加密
因为工作需要,使用的是Sqlite存储数据。原创 2014-06-10 10:42:26 · 1706 阅读 · 0 评论 -
WPF中 DataGrid中DataGridTemplateColumn打开Window的问题
问题重现:1、创建一个WPF项目;2、创建一个Window,添加一个按钮,Click事件中添加如下代码: 3、创建一个DataGrid,使用自定义模板列,DataTemplate中的控件为一个TextBlock,MouseDown事件同样添加以上代码。4、鼠标单击按钮和DataGrid中的TextBlock,发现以下区别:在DataGrid中打开的Window并没有置于最前,而Button中打开的原创 2014-08-22 17:03:09 · 2365 阅读 · 0 评论 -
C#导出非托管方法供C/C++调用
最近研究Notepad++插件开发,由于Notepad++使用C++开发,Notepad++也提供了C#的开发接口http://notepad-plus-plus.org/contribute/plugin-howto.html ,根据官方提供的Visual Studio模板,里面用到C#导出非托管dll的知识。 网上找到一个类似的第三方包Nuget package. 功能与此类似。===转载 2014-09-26 18:11:07 · 3315 阅读 · 0 评论 -
使用C#开发Notepad++插件
Notepad++是Windows平台上的一个强大的开源文本编辑器。它支持插件扩展,有很多第三方插件可以实现各种强大的功能,比如FunctionList函数列表,Compare文件比较,NppExec编译代码。我们也可以自己编写插件实现我们想要的功能。 Notepad++本身是C++编写,因此可以使用C++编写插件,但是我们也可以C#和Ada编写,因为已经有大牛封装了相应的SDK。编写原创 2014-10-08 22:37:54 · 7913 阅读 · 3 评论 -
WPF动画之后属性值无法改变
前一段时间使用WPF写2048游戏的时候,遇到下面的情形:使用按键对色块进行移动时,触发位置左边X和Y属性的DoubleAnimation动画,但是如果此时改变窗口的大小,并触发Canvas.SetLeft重新设置色块的位置时,发现色块没有更新到正确的位置上。 通过调试发现,Canvas.SetLeft调用前后X和Y的数值并没有发生变化。 最终在微软官网找到原因原创 2014-12-30 22:29:32 · 2830 阅读 · 0 评论 -
WPF 2048游戏的实现
前几天空闲的时候,实现了一个2048游戏。除了可以设置行数和列数之外,支持修改显示名称,比如下面,改成神雕侠侣中的角色名称: 游戏逻辑比较简单,大家都应该玩过。 这里主要实现了四个类:Game、GameBoard还有ColorBlock和BoardGridLine。 Game类主要用来实现游戏的控制,比如初始化、添加新的色块、移除色块、控制色块上下左右移原创 2014-12-30 22:54:19 · 2747 阅读 · 0 评论 -
E-iceblue的Office控件试用
前一段时间E-iceblue公司的工作人员与我联系,希望我能够给他们的控件做一下测评。由于一直比较忙,拖了快一个月,最近稍微有些空闲的时间,就完成答应的事。公司官网: http://www.e-iceblue.com/ 文档链接: http://www.e-iceblue.com/Tutorials.html首先,根据官网介绍,E-iceblue是一家.Net、Silverlight和WPF控件提原创 2015-04-16 10:30:03 · 4403 阅读 · 0 评论 -
给初中语文老师的书法字库软件
需求:前两天初中语文老师问我怎么做一个书法字库的软件,需求是这样的:输入一串汉字,然后调用对应的书法字帖图片(找不到图片直接用文字代替),可以实现简单排版和打印的功能。 开始想到windows的造字功能,但是毕竟复杂,8000多字全部做成字体工作量大。于是还是回归软件输入字符,调用图片上来。一个字一个图片,另外,只要图片用对应汉字命名,搜索不是问题。至于简单排版和打印,完全可原创 2013-11-10 16:03:12 · 1686 阅读 · 0 评论 -
WPF中Polyline拐角的bug
Polyline绘制折线在小角度(比如几度)的时候会出现不连续的现象,形成拐角的两条线段中有一段会超出,角度越小越明显。 问题如下图: 可以通过自定义shape解决,在重写DefiningGeometry时如下书写代码即可:using (StreamGeometryContext context = sg.Open()){ context.BeginFi原创 2013-07-22 12:00:55 · 2040 阅读 · 0 评论 -
C#读写ini配置文件
维基百科上关于ini文件的格式描述:INI文件是一个无固定标准格式的设置档。它以简单的文字与简单的结构组成,常常使用在视窗操作系统,或是其他操作系统上,许多程序也会采用INI文件做为设置程序之用。视窗操作系统后来以注册表的形式取代掉INI档。INI文件的命名来源,是取自英文“初始(Initial)”的首字缩写,正与它的用途——初始化程序相应。有时候,INI文件也会以不同的扩展名,如“.CFG”原创 2013-07-14 14:06:02 · 1841 阅读 · 0 评论 -
好久没来了,发个寒假写的俄罗斯方块~~~
using System;using System.Drawing;using System.Windows.Forms;using System.Xml;using System.IO;using System.Threading;namespace TETRIX{ public partial class Form1 : Form原创 2011-02-19 15:21:00 · 1992 阅读 · 24 评论 -
using语句的作用—摘自MSDN
using 语句(C# 参考)提供能确保正确使用 IDisposable 对象的方便语法。示例下面的示例演示如何使用 using 语句。using (Font font1 = new Font原创 2011-10-02 18:54:48 · 1209 阅读 · 0 评论 -
SQL注入漏洞与参数化查询
看杨中科老师的公开课,记下笔记~顺便了解了一下SQL注入漏洞SQL注入攻击的本质:让客户端传递过去的字符串变成SQL语句,而且能够被执行。查询的一种方式:using (SqlConnection conn = new SqlConnection(@"Data So原创 2011-10-02 19:56:55 · 2642 阅读 · 0 评论 -
用C#调用Matlab图像处理自制QQ游戏2D桌球瞄准器
平时不怎么玩游戏,有时消遣就玩玩QQ里的2D桌球,但是玩的次数少,不能像骨灰级玩家一样百发百中,肿么办呢?于是某天突发奇想,决定自己也来做个“外挂”。说是外挂,其实只是一个瞄准器,毕竟外挂是修改别人的软件,有点违法的意思,况且自己还没有能力去那么做,所以自己还是弄个瞄准器,做做弊,过下小瘾,同时也提高一下自己的编程能力。 2D桌球斯洛克的界面如下:原创 2011-08-23 01:01:26 · 6165 阅读 · 18 评论 -
C#反射加壳
转载自看雪论坛,原帖:http://bbs.pediy.com/showthread.php?p=928841新建一个CMD项目,复制程序到项目文件中,并设置成为“嵌入式资源”。Stream sr = Assembly.GetExecutingAssembly().GetManifestResourceStream("命名空间.程序.exe"); byte[] fileBy转载 2012-11-16 23:21:54 · 2525 阅读 · 1 评论 -
Windows Installer 4.5 UI Enhancements: Embedded UI
转载自:MSDN http://blogs.msdn.com/b/windows_installer_team/archive/2008/04/01/windows-installer-4-5-ui-enhancements-embedded-ui.aspxWhy Embedded UI?Windows Installer’s existing internal UI does not p转载 2012-11-16 23:25:38 · 1514 阅读 · 0 评论 -
《Practical WPF Charts and Graphics 》翻译——之11章 曲线拟合(1)
第11章曲线拟合 在科学和工程里,实验得到的数据通常因为测量误差会包含许多随机噪声。曲线拟合的目的是找到一个光滑的曲线去拟合平均数据点。我们通常要求这个曲线具有简单低阶多项式的形式,才能不再产生数据的随机误差。插值和拟合有一定的区别。插值,在前一章讨论过,可以看着是曲线拟合的特殊形式,它的函数必须精确穿过数据点。这就暗示给定的插值数据是精确和明显的。曲线拟合应用于通常因为实验测量误翻译 2012-12-10 17:17:29 · 3220 阅读 · 0 评论 -
《Practical WPF Charts and Graphics 》翻译——之11章 曲线拟合(2)
线性回归让我们首先考虑最小二乘拟合的线性形式其中fi(x)是已经定义过的x的函数,叫做基本函数。这种情况下,残差和就是相应的梯度方程从简化到先前的方程能写成矩阵形式这个矩阵形式也叫做最小二乘拟合的标准方程,它可以通过前面章节讨论的Gauss-Jordan方法求解。 实现使用前面章节提到的算法,我们可以实现线性回归方法。添加一个新的公有静态方法Line翻译 2012-12-11 17:48:41 · 2170 阅读 · 0 评论 -
浅拷贝和深拷贝
转载自:http://www.cnblogs.com/haiyang1985/archive/2009/01/13/1375017.html浅拷贝就比如像引用类型,而深拷贝就比如值类型。 浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。举个例子,一个人一开始叫张三,后来改名叫李四了,可是还是同一个人,转载 2013-02-16 12:52:41 · 1554 阅读 · 0 评论 -
AndroidLib库在.Net中的使用
AndroidLibAndroidLib是一个使用C#编写的开源Android控制库,是XDA论坛大神regaw_leinad基于adb开发的,下面介绍一下它的强大功能。GitHub下载地址:https://github.com/regaw-leinad/AndroidLib XDA论坛地址:http://forum.xda-developers.com/showthread.php?t=1512原创 2015-04-29 17:41:54 · 3133 阅读 · 0 评论