我发现了一些使用Win32 api或模拟^ +按钮组合的示例( ctrl - + )using SendKeys,但至少在SendKeys方法listview抓取光标并将其设置为沙漏,直到我按下键盘上的开始按钮。最干净的方法是什么?
答案 0 :(得分:19)
看起来对myListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent)
的调用会做你想要的。我想,只需在添加项目后调用它。
更多信息here
答案 1 :(得分:1)
根据MSDN,如果您将列宽设置为-1,那么它将自动调整为最宽的项目
答案 2 :(得分:0)
循环遍历所有列,并在添加内容后将宽度设置为-1。
答案 3 :(得分:0)
在您的代码中添加以下例程后,可从任何过程/函数调用它。但是不要在“ Form_Load”过程中使用它。仅在将项目添加到ListView后才调用它(或者,如果要进行多次添加,请在所有添加项的末尾调用一次):
Private Sub AutoSizeListViewColumns(oListView As ListView)
Dim nCol As Integer = 0
SuspendLayout()
For nCol = 0 To (oListView.Columns.Count - 1)
oListView.Columns(nCol).Width = -1 'forces autosizing on column
Next
oListView.Refresh()
ResumeLayout()
End Sub