2012-01-09 27 views
1

winforms listviewから表示項目を取得するにはどうすればよいですか?そこに簡単な方法であるように見える、と私はcontrol.clientrectangleまたは、次のような他のハックしてアイテムを照会するには消極的だしません:winforms listviewに表示されるリストビュー項目はありますか?

https://stackoverflow.com/questions/372011/how-do-i-get-the-start-index-and-number-of-visible-items-in-a-listview)

私が目に見えると言うとき、私はアイテムを意味する上で表示されますスクリーン。

+0

ListView.GetItemAt()はこれを行う適切な方法です。 –

答えて

1

:あなたは簡単に ためのループ( TopItemとBottomItem両方が ヌルされていない場合)と表示項目を通過することができるように

Better ListView Expressは、またBottomItem性質を持っているフリーウェアコンポーネントであります

for (int i = betterListView.TopItem.Index; i < betterListView.BottomItem.Index; i++) 
{ 
    // your code here 
} 

これは、ListViewと同じインターフェイスを持ち、.NET ListViewよりも多くの改善点があります。

-3

目に見えるアイテムリストのみを表示する関数を探している場合、そのようなものはありません。あなたはforeachアイテムに行って、それが見えるかどうかを調べることができます。 (私はあなたの質問を理解している場合、右?あまり明確な説明を与えてください)あなたはListView.TopItemから反復処理し、ListViewItem.Boundsにそれがクライアント領域内に位置しているかどうか、各項目のプロパティを確認することができます

+0

目に見える手段=画面に表示される項目あり – Tom

+0

これはどのように有効な答えですか? ListViewItemに "Visible"プロパティがないようです。 – gonzobrains

関連する問題