重写表单事件
本文关键字:事件 表单 重写 | 更新日期: 2023-09-27 18:30:33
>我正在尝试覆盖datagridview的标准排序方法。如何使应用程序使用我的函数(方法?)而不是默认函数?当用户单击列时,应触发此事件。
private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
//Sort stuff.
}
我认为这个主题对您来说会非常有趣,因为它符合您的要求。
通常,可以使用很少的技术在 DataGridView 中进行自定义排序,具体取决于您的要求。
-
使用编程排序。(您需要手动调用排序)
-
使用 SortCompare 事件,该事件将在 ColumnHeaderMouseClick 上调用。(对于绑定的数据网格视图)
-
创建您自己的 System.Collections.IComparer。 (用于未绑定的数据网格视图)
两者都可以在MSDN页面上找到。另外,请找到此页面,说明何时可以使用哪种技术。
不能覆盖事件,因为在实际控制方法执行后引发事件。为了能够在需要扩展DataGrid
控件并覆盖其中的函数之前执行某些操作,如下所示:
一个佩苏多代码
public class MyDataGrid : DataGridView
{
public override void ColumnHeaderMouseClick(...)
{
//insert here your code and comment last line, so base class will not call it's own implementation
base.ColumnHeaderMouseClick(...); //after execution of this, the event is reaised
}
}
Riminder:这是如何处理这种情况的基本方法,您必须检查此代码是否适用于您的情况。
希望这有帮助。