有没有办法以编程方式单击ListView列,就像您通常会点击它一样?
答案 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);