DataGridView数据绑定的几种方法
在WINFORM编程中,数据绑定是最普通的一个问题了,本文将要提到的是在使用LINQ+泛型作为数据源时,数据绑定遇到的问题。 由于LINQ是把表的结构映射到实体对像数据结构,数据源如果不处理,将会是整个表的数据集合,因此,在数据绑定的时候,效率将是一个很重要的问题。 问题: 如果一个DataGridView在进行绑定数据时,是多表连接查询的结果,LINQ绑定方法有以下几种: 方法一: public IQueryable getlist() { var query= from s in stuList join c in classList...
C#迅雷七窗体特效,使用DWM实现Aero Glass效果
从Windows Vista开始,Aero Glass效果被应用在了Home Premium以上的系统中(Home Basic不具有该效果)。这种效果是由DWM(Desktop Window Manager)来控制的。对于一般的程序,缺省将在窗口边框应用这种效果。但如果我们想要更多的控制,比如让客户区的一部分也呈现这种效果,那也非常的简单。不需要我们在程序里做任何复杂的算法,我们只需要调API,交给DWM去做就可以了。 一、Composition(窗口合成) and Non-client Rendering(非客户区渲染) 非客户区通常包括窗口...
C#桌面图标弹出提示
之前看见过某些软件,安装完毕后会在桌面图标的旁边弹出一个提示框.然后就尝试着自己也实现一下这个效果.先来看看最终效果: 实现方法 首先,必须知道图标在屏幕上的位置.用SPY类工具探测了一下(这里我用的是彗星小助手),发现"桌面"是一个ListView控件,既然是这个控件,那就可以发送LVM_GETITEMTEXT消息来获取各个图标的名称,判断哪个是我们要找的.然后发送LVM_GETITEMRECT消息获取图标的位置.最后在图标旁边创建一个提示窗口,这里我使用了UpdateLayeredWindow需要注意的是:在64位操作系统上,LVM_GETI...