c#
文章平均质量分 50
简单但不平凡
这个作者很懒,什么都没留下…
展开
-
c#中xml序列化 和binary 序列化
什么是序列化与反序列化???序列化和反序列化,我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节转载 2015-08-09 19:31:21 · 901 阅读 · 0 评论 -
c#中的矩阵变换 MatrixTransform
在大学的时候很讨厌上高数和线代 信号与系统的课程,总是感觉枯燥乏味,都是公式,没有实际应用的意义。那个时候就是 too young too simple,工作中才会遇到实际问题用哪些知识来解答,包括现在火的一塌糊涂的AI,入门的基本就是要会点线代。很多实际问题都是需要数学模型,像作分析和统计的一般都会用到高斯拟合、多项式拟合、最小二乘法等。做图像处理和解析的一般就会用到矩阵了,下面来说一说矩阵的原创 2018-01-24 11:23:40 · 8747 阅读 · 3 评论 -
Entity Framework 6 连接Sqlite数据库遇到的问题
项目中有用到EF6,使用过程中遇到了点问题,记录一下,希望给有需要的同学一点帮助至于怎么用ef 网上有很多教程 在此不再赘述1、问题一获取Nuget包后,导入数据库,编译提示Unable to determine the provider name for provider factory of type 'System.Data.SQLite.SQLiteFactory'. Ma原创 2017-12-25 21:05:50 · 2277 阅读 · 0 评论 -
动态关闭消息对话框
c#中用messagebox弹出对话框之后,点击确认或者取消 是或者否 之类的会自动关闭,但是有时候我们想动态关闭这个窗口该怎么做?或者是其他自定义弹框要动态关闭。方法有很多种,下面介绍几种。1、调用Windows API 获取消息弹窗的句柄,然后向消息窗口发送关闭或者取消 确定 消息。获取句柄的方法有多种,如果弹窗是模式对话框可以通过GetForegroundWindow得到当前活动的原创 2016-09-29 09:39:09 · 1498 阅读 · 0 评论 -
委托及多播委托
c#中的委托类似于c c++中的指针,委托就是概括了方法的签名和返回值类型 ,委托可以理解为定义的一个新的类。所以在可以定义类的任何地方都可以定义委托,也可以在委托的定义上加访问修饰符 public private 等1、定义一个委托 类似于方法的定义该委托表示的方法有两个long类型参数,返回值类型为doubledelegate double TwoLongOp (long原创 2016-07-21 17:27:42 · 706 阅读 · 0 评论 -
线程、多线程与线程池总结
先看几个概念:线程:进程中负责程序执行的执行单元。一个进程中至少有一个线程。多线程:解决多任务同时执行的需求,合理使用CPU资源。多线程的运行是根据CPU切换完成,如何切换由CPU决定,因此多线程运行具有不确定性。线程池:基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。转载 2016-07-21 14:08:18 · 4433 阅读 · 0 评论 -
c#中的模态对话框和非模态对话框
模态对话框弹出窗口阻止调用窗口的所有消息响应。只有在弹出窗口结束后调用窗口才能继续。在模态窗口“关闭”后,可以读取模态窗口中信息,包括窗口的返回状态,窗口子控件的值。非模态对话框可以在弹出窗口和调用窗口之间随意切换。调用窗口调用show方法后,下面的代码可以立即执行。在非模态窗口关闭后,窗口的所有资源被释放,窗口不存在,无法获取窗口的任何信息。何谓模态窗转载 2015-08-05 21:50:27 · 14725 阅读 · 0 评论 -
SendMessage和PostMessage的用法
定义消息 在c#中消息需要定义成windows系统中的原始的6进制数字,比如 const int WM_Lbutton = 0x0; //定义了鼠标的左键点击消息 public const int USER = 0x000 // 是windows系统定义的用户消息 消息发送 消息发送是通过windows提供的API函数转载 2015-08-05 20:55:35 · 1065 阅读 · 0 评论 -
sendmessage 用法
用 PostMessage、SendNotifyMessage、SendMessageCallback 等异步函数发送系统消息时,参数里不可以使用指针,因为发送者并不等待消息的处理就返回,接受者还没处理指针就已经被释放了。5、在 Windows 2000/XP 里,每个消息队列最多只能存放 10,000 个 Post的消息,超过的还没被处理的将不会被处理,直接丢掉。这个值可以改得更大:[转载 2015-08-05 20:58:07 · 1292 阅读 · 0 评论 -
c# 自定义控件
第一步:新建一个控件库项目:myControl 第二步:从工具箱里面拖动1个PictureBox、1个Button、6个Lable控件到用户界面上,布局如下:如上图,设置pictureBox的Name为picBox,背景为白色,Button的Name为btnOpen,另外靠左的三个Lable的Text属性分别为:文件名称,文件大小,文件尺寸,靠右的三个Lable的N转载 2015-08-16 22:04:16 · 1356 阅读 · 0 评论 -
log4net的使用 日志输出
1 简介1.1 Log4net的优点:几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用转载 2015-08-16 17:09:29 · 1548 阅读 · 0 评论 -
日志输出 实例
把下载的 log4net-1.2.11-bin-newkey解压后,如下图所示: 双击bin文件夹 双击net文件夹,选择针对.NET FramerWork的不同版本 找到相应版本的log4net.dl转载 2015-08-16 17:10:48 · 377 阅读 · 0 评论 -
在winform界面的菜单栏和工具栏中插入分界线
拖一个Label标签控件,然后将其属性中的AutoSize设置为False(这样就可以手动设置大小了),再将Size尺寸中的大小第二个参数高度设置为2,宽度设置为你想要的大小,最后把BorderStyle边框设置为Fixed3D样式就可以了,然后拖动这个线到你想要放置的地方原创 2015-08-16 17:20:52 · 1594 阅读 · 0 评论 -
设置winform窗体在屏幕上显示的位置 和其他用法
只要设置窗体的startposition属性即可:form.StartPosition=CenterParent;窗体加载出来后,光标自动在文本框中:在加载程序中加入下面代码this.txtUserLoginPWD.Select();原创 2015-08-13 15:53:42 · 2263 阅读 · 0 评论 -
winform中numberricupdown属性和用法
NumericUpDown,又称为数字选择控件,是一个显示和输入数值的控件,控件提供了一对上下箭头,用户单击上下箭头可选择数值,也可以直接输入一个数值控件属性:Maximum:设置数值允许的最大值,如果超过这个最大值会自动被修改为设置的最大值Minimum:设置数值允许的最小值,如果超过这个最小值会自动被修改为设置的最小值DecimalPlaces:获取或者设置数字原创 2015-08-13 15:47:59 · 5178 阅读 · 0 评论 -
C# 播放声音文件
1.使用System.Media.SoundPlayer播放wavSystem.Media.SoundPlayer sp = new SoundPlayer(); sp.SoundLocation = @"test.wav"; sp.PlayLooping(); 或者 SoundPlayer player = new SoundPlayer();原创 2018-01-17 21:23:19 · 1309 阅读 · 0 评论