프로그래밍 방식으로 ListView의 열 크기를 자동으로 조정하려면 어떻게 해야 합니까?

StackOverflow https://stackoverflow.com/questions/57584

문제

Win32 API를 사용하거나 ^+ 버튼 조합을 시뮬레이션하는 몇 가지 예를 찾았습니다(Ctrl 키-+) SendKey 사용, 그러나 적어도 SendKeys 메소드를 사용하면 목록 보기는 커서를 잡고 키보드의 시작 버튼을 누를 때까지 모래시계로 설정합니다.이 작업을 수행하는 가장 깨끗한 방법은 무엇입니까?

도움이 되었습니까?

해결책

에게 전화가 온 것 같습니다. myListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent) 당신이 원하는 것을 할 것입니다.그냥 항목을 추가한 후 호출하면 될 것 같아요.

더 많은 정보 여기

다른 팁

에 따르면 MSDN, 열 너비를 -1로 설정하면 가장 넓은 항목으로 자동 크기 조정됩니다.

모든 열을 반복하고 콘텐츠를 추가한 후 너비를 -1로 설정합니다.

코드에 다음 루틴을 추가한 후 모든 프로시저/함수에서 이를 호출하세요.하지만 "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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top