C# - 以编程方式单击ListView列

时间:2011-02-01 03:39:47

标签: c# listview

有没有办法以编程方式单击ListView列,就像您通常会点击它一样?

3 个答案:

答案 0 :(得分:3)

你不能只提高ColumnClick事件并传递ColumnClickEventArgs中的列号吗?

http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.columnclick.aspx

http://msdn.microsoft.com/en-us/library/system.windows.forms.columnclickeventargs.aspx

示例......呃...不是真的,因为我距离最近的VS安装只有几百英里的距离,而且我不擅长记住没有它的语法!

尽管伪代码尝试排序......

//initialize your event arguments
    ColumnClickEventArgs eArgs = new ColumnClickEventArgs(columnindex);

//declare your method
private void myColumnClick(object o, ColumnClickEventArgs e)
{
//do your stuff
}

//call your method to do stuff
myColumnClick(ListView1, eArgs);

我的意思是,你所做的一切实际上是传递与listview对象一起点击的列号,就好像你正在创建一个事件处理程序一样 - 你实际上并没有创建一个事件处理程序,你也不是使用OnColumnClick事件来触发它。

这可能会被某人击落,但AFAIK应该有效......

答案 1 :(得分:1)

单击列标题时,ListView控件完全没有任何作用;所采取的唯一操作无论如何都会在你自己的事件处理程序中执行,所以我建议你简单地调用你的事件处理程序(或将公共代码分解为一个单独的方法,这是最好的做法,并且每当你想要模拟点击列标题。)

答案 2 :(得分:0)

没关系,只是用this page找出来。

        ColumnClickEventArgs args = new ColumnClickEventArgs(0);
        listView1_ColumnClick(this, args);