随笔分类 - 【0085】WinForm
摘要:序言 资料 C# 界面布局库DockPanel Suite的使用
阅读全文
摘要:序言 资料 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示 C#操作句柄,实现自动输入功能
阅读全文
摘要:序言 (百度答案)从程序设计上来说,只有创建界面的主线程才能访问界面上的控件,所以会出错. 当然,设置CheckForIllegalCrossThreadCalls =false 是能去掉这个检查的,但是这不是标准的作法. 标准的作法是在访问界面控件时,访问下窗体的InvokeRequired属性,
阅读全文
摘要:序言 方案一: 去掉线程访问主线程UI控件的安全检查(不推荐) Control.CheckForIllegalCrossThreadCalls = false; 方案二: 使用委托,将对主线程的UI控件操作推送了该线程的消息队列里,使用的方法为:Invoke方法和BeginInvoke方法,前一个是
阅读全文
摘要:序言 Prism 如何在Windows Forms应用程序中实现可组装式(Composite)的架构以及松耦合事件机制 EventHandler传递参数 [EventPublication("CshisNet://App/CsAction", PublicationScope.Global)] pu
阅读全文
摘要:序言 用了onpaint事件重绘 与绘制有关的函数 Paint() OnPaint() Invalidate() 前两个函数的执行顺序,如果在OnPaint()中有base.OnPaint(e)函数,就相当于执行外部的Paint()函数。 Invalidate()运行后,会通知系统要重绘控件,但是不
阅读全文
摘要:序言 在.NET中,GDI+的所有绘图功能都包括在System、System.Drawimg、System.Drawimg.Imaging、System.Drawimg.Drawimg2D和System.Drawimg.Text等命名空间中。 Graphics类封装一个GDI+绘图图面,提供将对象绘
阅读全文
摘要:序言 系统启动起来以后,内存占用越来越大,使用析构函数、GC.Collect什么的也不见效果,后来查了好久,找到了个办法,就是使用 SetProcessWorkingSetSize函数。这个函数是Windows API 函数。下面是使用的方法: [System.Runtime.InteropServ
阅读全文
摘要:序言 DataEventArgs<DataSet> arg = new DataEventArgs<DataSet>(ds); Delegate Event EventHandler EventArgs 事件总线 什么是事件总线 我们知道事件是由一个Publisher跟一个或多个的Subsriber
阅读全文
摘要:序言 第1章 线程基础 System.Threading Join C#中的Thread中的ApartmentState几种状态(STA,MTA,Unknown)详解 System.Threading.ApartmentState.STA 资料 《c#多线程编程实战》
阅读全文
摘要:代码 这中效果的实现主要是调用了系统的dwmapi.dll。 dwmapi.dll是Microsoft Desktop Window Manager API(桌面窗口管理器DWM 的公用界面)的动态链接库,正常文件,主要用作桌面效果的api。 DWM 是一种新界面,在除 Windows Vista
阅读全文
摘要:玻璃效果 WPF中UI及时更新,如何在处理长时间工作时,保持界面的持续更新 不管是在winform还是在WPF中,我们要做一个进度条,用在一个大循环或者一个耗时的处理中,首先想到的就是多线程。否则进度条会出现假死现象,进度条不会更新。 做多线程是比较麻烦的,如果只是简单的更新UI,可以用System
阅读全文
摘要:1.DataTable数据去重 1 static void Main(string[] args) 2 { 3 DataTable dt = new DataTable();//创建表 4 DataColumn dc = null;//创建列 5 int fieldCount = 4;//列数 6
阅读全文