知识大全 认识.NET Framework事件处理

Posted 事件

篇首语:安全感,不是来源于爱,而是偏爱。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 认识.NET Framework事件处理相关的知识,希望对你有一定的参考价值。

认识.NET Framework事件处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  最近的开发中在用DataGrid 类 (System Windows Forms) 发现单击列标题会按该列对表数据进行排序 非常方便 可是有时候用户又想按初始的数据排序查看 那怎么办?    首先介绍两个需要了解的小知识    DataGrid AllowSorting 属性  获取或设置一个值 该值指示是否可以通过单击列标头对网格进行重新排序    DataGrid HitTestType 枚举  指定 System Windows Forms DataGrid 控件中用户单击的部分   其中 None 表示当控件不包含表 或者包含的行很少时 或者当表滚动到其底部时可见的背景区域     而当用户单击行标题之上 列标题之右的小矩形区域时 得到的HitTestType值也是None    所以我们可以在判断到用户单击None区域时 设置DataGrid对象的AllowSorting属性 使表格数据恢复初始排序     程序非常简单 在DataGrid对象的MouseDown事件中加入以下即可  DataGrid dg = (DataGrid) sender;  DataGrid HitTestInfo hit = dg HitTest(e X e Y);  if ( hit Type Equals(DataGrid HitTestType None) )    dg AllowSorting = false;  dg AllowSorting = true;      这与 NET Framework的事件处理有什么关系呢?  如果我想创建一个由DataGrid派生的类 同时实现刚才的功能 就需要重载DataGrid类的某个方法 由此我们进入主题     在C#中 可重载的事件方法名称皆以 On 开头 且被声明为 virtual 一个被声明成virtual的方法 就代表它可被重载     重载事件方法   事件方法会引发事件   引发事件会调用事件处理程序  关于引发事件详细信息 请参见引发事件    我相中了OnMouseDown事件方法 因为是它引发 MouseDown 事件 有了思路 程序是简单的 如下     using System;  using System Windows Forms;    namespace MyExtend    public class ExDataGrid : DataGrid    protected override void OnMouseDown(MouseEventArgs e)    DataGrid HitTestInfo hit = this HitTest(e X e Y);  if ( hit Type Equals(DataGrid HitTestType None) )    this AllowSorting = false;  this AllowSorting = true;    base OnMouseDown(e);          注意最后一句 base OnMouseDown(e);  重写派生类中的 OnMouseDown 时 请确保调用基类的 OnMouseDown 方法     下次再用DataGrid时 就可以通过ExDataGrid类来实现了 如下     using MyExtend;    ExDataGrid dg = new ExDataGrid(); cha138/Article/program/net/201311/11435

相关参考

知识大全 .NET Framework轻松处理XML数据

.NETFramework轻松处理XML数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在n

知识大全 详谈.NET Framework处理XML操作技巧

详谈.NETFramework处理XML操作技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 .Net Framework 2.0中的事务处理

.NetFramework2.0中的事务处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  事务

知识大全 .NET开发事件处理的步骤[1]

.NET开发事件处理的步骤[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  DOTNET事件

知识大全 ASP.NET中的事件处理

ASP.NET中的事件处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一ASPNET中的事件

知识大全 .NET开发事件处理的步骤[2]

.NET开发事件处理的步骤[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第三步发送方声明

知识大全 探讨与比较Java和.NET的事件处理框架

探讨与比较Java和.NET的事件处理框架  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!事件驱动模

知识大全 .NET开发中碰到的事件处理的步骤

.NET开发中碰到的事件处理的步骤  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  DOTNET事

知识大全 ASP.NET 2.0高级数据处理之处理控件事件

ASP.NET2.0高级数据处理之处理控件事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在前面

知识大全 使用Visual Basic.NET重载事件处理程序

使用VisualBasic.NET重载事件处理程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!