会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Pilgrim
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2020年4月17日
Winform中DataGridView下拉框单元格错误时,改变背景色,作为提示
摘要: 在错误的条件时,更改cell.Style.BackColor的背景颜色 /// <summary> /// 单元格字体颜色 /// </summary> Color cellForeColor = Color.Black; /// <summary> /// 单元格背景正常颜色 /// </summ
阅读全文
posted @ 2020-04-17 12:53 一只独行的猿
阅读(703)
评论(0)
推荐(0)
2019年8月1日
定时器Timer
摘要: Timer可以对方法的执行时间进行调度,可以是经过指定的时间段后执行,也可以是在之后每隔一段时间执行一次。但不要创建太多的定时器。全部的Timer都是由线程池中的1个线程提供支持的。如果Timer的数量太多,则执行回调方法会被延迟。 在空闲时,Timer线程会执行线程池中的任务,Timer会由下一个
阅读全文
posted @ 2019-08-01 21:26 一只独行的猿
阅读(944)
评论(0)
推荐(0)
实现不同进程之间的通信
摘要: 进程之间的通信是为了解决不同进程之间的数据传输问题,这样可以让不同程序交互数据。实现进程通信的方式:1、剪切板;2、COM;3、内存映射文件;4、WCF 1、剪切板Clipboard在进程间传送对象 剪切板是一个供应用程序使用的公有区域。在.NET中定一个了一个DataFormats类,此类包含一些
阅读全文
posted @ 2019-08-01 21:10 一只独行的猿
阅读(2620)
评论(1)
推荐(1)
2019年7月16日
使用Task实现非阻塞式的I/O操作
摘要: 在前面的《基于任务的异步编程模式(TAP)》文章中讲述了.net 4.5框架下的异步操作自我实现方式,实际上,在.net 4.5中部分类已实现了异步封装。如在.net 4.5中,Stream类加入了Async方法,所以基于流的通信方式都可以实现异步操作。 1、异步读取文件数据 public stat
阅读全文
posted @ 2019-07-16 21:08 一只独行的猿
阅读(948)
评论(3)
推荐(0)
2019年7月11日
C# 防火墙操作之启用与关闭
摘要: 通过代码操作防火墙的方式有两种:一是代码操作修改注册表启用或关闭防火墙;二是直接操作防火墙对象来启用或关闭防火墙。不论哪一种方式,都需要使用管理员权限,所以操作前需要判断程序是否具有管理员权限。 1、判断程序是否拥有管理员权限 需要引用命名空间:System.Security.Principal 2
阅读全文
posted @ 2019-07-11 23:45 一只独行的猿
阅读(2973)
评论(0)
推荐(1)
C# 防火墙操作之创建规则
摘要: 对于某些程序,我们只允许它使用某些特定端口、网络类型或者特定IP类型等信息。这时候,需要使用到防火墙里面的“高级设置”,创建某些特定的入站或者出栈规则,以规避其程序使用允许端口等意外的信息。 下面以创建出站规则为例,编写一条出站规则,规避除允许规则以外的通过防火墙。创建规则时,会使用到接口INetF
阅读全文
posted @ 2019-07-11 23:44 一只独行的猿
阅读(3688)
评论(0)
推荐(1)
C# 防火墙操作之特定程序
摘要: 将特定程序加入防火墙组,与将特定端口加入防火墙流程类似。详情见“C# 防火墙操作之特定端口”。其主要代码为:
阅读全文
posted @ 2019-07-11 22:09 一只独行的猿
阅读(1099)
评论(0)
推荐(1)
C# 防火墙操作之特定端口
摘要: 针对将特定端口加入到windows系统的防火墙中,使其允许或禁止通过防火墙。其大概思路是: 删除规则比较简单:创建防火墙实例,直接移除某种通信类型的端口就行。
阅读全文
posted @ 2019-07-11 00:10 一只独行的猿
阅读(2152)
评论(0)
推荐(2)
2019年7月4日
windows系统下,在C#程序中自动安装字体
摘要: 在Windows系统中,原有自带的字体样式有限,有时候我们的程序会使用到个别稀有或系统不自带的字体。因此我们需要将字体打包到程序中,当程序启动时,检测系统是否有该字体,如果没有则安装该字体,也可以动态加载字体。 1.1、使用代码安装字体 注意:安装字体时,需要windows的管理员权限。 [DllI
阅读全文
posted @ 2019-07-04 22:52 一只独行的猿
阅读(3733)
评论(4)
推荐(0)
2019年5月8日
C#中查找或结束程序域中的主、子进程
摘要: 有时候,我们的程序需要启动一些子进程,如嵌入的图形程序。 当启动一个进程后,获得这个进程信息Process,然后其内部在某个时刻启动了一个子进程,这个时候就涉及程序域和进程树的概念。当我们通过非正常操作的方式结束前面获得的进程信息Process时(如Kill掉),可能并没有实际结束子进程。因为当有主
阅读全文
posted @ 2019-05-08 12:45 一只独行的猿
阅读(2930)
评论(0)
推荐(0)
2019年1月18日
Winform窗体改变语言类型的方式
摘要: Winform改变语言类型比较复杂,需要根据不同语言应用语言资源。而软件在进行语言切换时,需要将当前的UI文化线程引用对应的语言类型。常用的有三种方式,此处使用两种,对比发现其中的优缺点:
阅读全文
posted @ 2019-01-18 15:59 一只独行的猿
阅读(992)
评论(0)
推荐(0)
设置TeeChart的提示文本
摘要: 使用第三方Steema的TeeChart控件,设置鼠标放在某一线条点上,显示某一点的数据标签问题(虚线型十字光标基准线,放在线上显示对应点的二维坐标轴数据数据),调用InitTeeChartTipTools方法即可:
阅读全文
posted @ 2019-01-18 15:53 一只独行的猿
阅读(1506)
评论(0)
推荐(0)
C#不能捕捉的异常,如AccessViolationException
摘要: 在.net的异常机制中,有部分严重的编程错误(系统的某些Corrupted State Exceptions异常)是默认不被用户使用常规的异常捕捉方式捕捉到的。 微软的这种设计方式,是让用户必须处理该异常,否则程序将无法正常运行。目前发现两种情况,但解决方法通用。 1、AccessViolation
阅读全文
posted @ 2019-01-18 15:45 一只独行的猿
阅读(7087)
评论(1)
推荐(0)
2018年8月26日
接口IDisposable的用法
摘要: C#的每一个类型都代表一种资源,而资源又分为两类: 托管资源 由CLR管理分配和释放的资源,即从CLR里new出来的对象。 非托管资源 不受CLR管理的对象,如Windows内核对象,或者文件、数据库连接、套接字、COM对象等。 如果类型用到了非托管资源,或者需要显式释放托管资源,那么需要让类型继承
阅读全文
posted @ 2018-08-26 10:38 一只独行的猿
阅读(1387)
评论(0)
推荐(0)
2018年8月21日
任务
摘要: 任务表示某个工作单元。这个工作单元可以在单独的线程中运行,也可以同步方式启动一个任务,使主线程等待。任务可以在完成后定义一个连续工作,同时也可以有子任务(但取消父任务后,子任务也会被取消)。 1、启动任务 使用TaskFactory类或Task类的构造方法和Start()方法。启动任务时,会创建一个
阅读全文
posted @ 2018-08-21 22:05 一只独行的猿
阅读(261)
评论(0)
推荐(0)
2018年7月23日
数据与任务的并行---Parallel类
摘要: Parallel类是对线程的抽象,提供数据与任务的并行性。类定义了静态方法For和ForEach,使用多个任务来完成多个作业。Parallel.For和Parallel.ForEach方法在每次迭代的时候调用相同的代码,而Parallel.Invoke()方法允许同时调用不同的方法。Parallel
阅读全文
posted @ 2018-07-23 21:14 一只独行的猿
阅读(2400)
评论(0)
推荐(3)
2018年7月16日
进程之间的线程同步
摘要: Mutex类、Event类、SemaphoreSlim类和ReaderWriterLockSlim类等提供了多个进程之间的线程同步。 1、WaitHandle 基类 WaitHandle抽象类,用于等待一个信号的设置。可以根据其派生类的不同,等待不同的信号。异步委托的BeginInvoke()方法返
阅读全文
posted @ 2018-07-16 21:20 一只独行的猿
阅读(690)
评论(0)
推荐(0)
2018年7月1日
进程内部的同步
摘要: 在线程里,如果需要共享数据,那么一定需要使用同步技术,确保一次只有一个线程访问和改变共享数据的状态。在.net中,lock语句、Interlocked类和Monitor类可用于进程内部的同步。 1、lock语句与线程安全 lock语句是设置锁定和解除锁定的一种简单方式。在使用lock语句之前,先进入
阅读全文
posted @ 2018-07-01 14:36 一只独行的猿
阅读(571)
评论(0)
推荐(0)
2018年6月30日
Thread类
摘要: Thread类相对于线程池中的线程,使用者有更多的控制权。该类允许创建前台线程,设置线程优先级等。Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart类型的委托参数。 1、给线程传递数据 给线程传递数据的两种方式: 1.使用带Parameteri
阅读全文
posted @ 2018-06-30 22:02 一只独行的猿
阅读(448)
评论(0)
推荐(0)
2018年6月29日
线程池
摘要: 线程的创建需要时间。如果存在多个任务需要完成,则可以事先创建许多线程,在应该完成任务时发出需求线程请求。线程数最好时动态的增加于减少。TheadPool类可以托管线程列表,这个类能动态增加于减少线程的线程数,直到最大线程数 可配置。在四核CPU中,默认为1023个工作线程和1000个I/O线程。也可
阅读全文
posted @ 2018-06-29 21:36 一只独行的猿
阅读(237)
评论(0)
推荐(0)
上一页
1
2
3
下一页
公告