2010-03-29 3 views
0

ListView의 항목 수에 따라 ListView의 높이를 조정할 수 있습니까? 클릭 한 항목의 텍스트를 가져 오려고하지만 사용자가 항목이없는 공간을 클릭 할 때마다 오류가 발생합니다. 정확한 오류 :얼마나 많은 항목에 따라 ListView의 크기를 조정합니까?

InvalidArgument = 값 '0'은 'index'에 유효하지 않습니다. 매개 변수 이름 : index.

내가 코드를 사용하고 있습니다 :

label14.Text = myListView1.SelectedItems[0].Text.ToString(); 

나는 항목 아래의 공간을 제거하면이 문제를 해결할 수 있다고 생각. 감사! 당신이 당신의 오류를 해결하기 위해 무엇을해야

답변

3

는 사용자가 실제로 항목에 클릭 여부를 확인하다 :

if (myListView1.SelectedItems.Count > 0) { 
    label14.Text = myListView1.SelectedItems[0].Text.ToString(); 
} 
+0

작동하지 않는 것 같습니다. 어셈블리 참조가 누락되었다고합니다. 감사. –

+0

죄송합니다. 'Count '는 올바른 속성입니다. 컴파일러는 그 이름이나 비슷한 IIRC를 가진 확장 메소드를 찾고있었습니다. :) –

0

각 항목의 높이가 글꼴에 따라 5-7 픽셀 주위에 무엇을/사용 된 글꼴 크기. 그래서 당신은 단순히 myListView1.Height = myListView1.Items.Count * itemHeight를 할 수 있습니다;

빈 목록 항목을 제거하려면이를 반복하고 제거 할 수 있습니다.

0

아하. 나는 그것을 작동 시켰습니다. 나는 다음을 사용했다 :

if (myListView1.SelectedItems.Count > 0) 
     { 
      label14.Text = myListView1.SelectedItems[0].Text.ToString(); 
     } 

그 트릭을하는 것처럼 보였다. 도와 주셔서 다시 한 번 감사드립니다!

관련 문제