有关用c#重写listView控件的问题

monter 2003-08-14 12:01:33
我想用c#重写了listView控件,想对ListView_ColumnClick事件作一些修改:
怎么做?
ths!!
...全文
324 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
monter 2003-08-18
  • 打赏
  • 举报
回复
up,up,up

ths!!!
monter 2003-08-14
  • 打赏
  • 举报
回复
帮帮我把,ths ,up
monter 2003-08-14
  • 打赏
  • 举报
回复
因为我发现,当我想通过单机listview控件列头进行排序时,它只能按第一列排序,因此我就通过继承ListView控件,重新写了一个ListViexX控件,我的代码是:

public class ListViewX : System.Windows.Forms.ListView
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public ListViewX()
{
// 该调用是 Windows.Forms 窗体设计器所必需的。
InitializeComponent();

// TODO: 在 InitializeComponent 调用后添加任何初始化

}

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Component Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
//-------------此处重写ColumnClick事件--------------------
protected override event ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
......
}
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
}



我的目的就是这样的,如何处理?ths!!!!!!!!!!!!!!!!
lemong 2003-08-14
  • 打赏
  • 举报
回复
class A
{
int x;
public virtual void PrintFields() {
Console.WriteLine("x = {0}", x);
}
}
class B: A
{
int y;
public override void PrintFields() {
base.PrintFields();
Console.WriteLine("y = {0}", y);
}
}

注意:

在派生类中重写 OnColumnClick 时,一定要调用基类的 OnColumnClick 方法,以便注册的委托对事件进行接收。

重写基方法是虚拟、抽象或是重写方法。换句话说,重写基方法不能是静态或非虚拟方法。

重写基方法不是密封方法。

重写声明和重写基方法具有相同的声明可访问性。换句话说,重写声明不能更改虚拟方法的可访问性。

顾君彦 2003-08-14
  • 打赏
  • 举报
回复
做什么样的修改?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧