2011-08-23 39 views
6

Trong khi sử dụng hộp danh sách trong C#, làm thế nào có thể tìm hiểu số lượng các selecteditems?hộp danh sách; số lượng các mục được chọn

Mục hộp danh sách: A, B, C, D. Ví dụ: tôi chọn C và D.

Tôi muốn tạo vòng lặp để gán các selecteditems.

Làm cách nào để đạt được điều đó? Làm cách nào tôi có thể biết số lượng mục đã chọn?

Cảm ơn bạn

Trả lời

10

Có lẽ bạn đang tìm kiếm listbox1.GetSelectedIndices().Count();

+0

+1 Tôi không nghĩ rằng nó là cần thiết để thêm một vòng lặp nếu số là tất cả những gì là cần thiết. – chkdsk

+0

cảm ơn V4Vendetta, giải pháp mà tôi tìm kiếm, là của bạn. – csharper

1

Bạn nên để có thể đạt được điều này bằng một cái gì đó giống như vậy:

var count = (from item in listBox.Items where item.Selected select item).Count(); 

Trên đây là một cách để có được điều này sử dụng LINQ (vì vậy bạn sẽ cần một tham chiếu đến System.Linq) nhưng có thể dễ dàng được mở rộng để sử dụng một phương tiện nguyên thủy hơn như vòng lặp.

+0

nó vẽ màu đỏ dưới hộp danh sách trong mã của tôi, tôi cũng thay đổi tên của Listbox theo mã của tôi ... Và tôi tham chiếu System.Linq; – csharper

+0

@csharper: 'listBox' phải được thay thế bằng' ID' của điều khiển 'ListBox' của chính bạn. –

+0

Bạn đã thêm 'using System.Linq;' ở đầu tệp .cs chưa? –

0

này sử dụng đoạn mã sau:

này nguyên trở lại:

listBox.SelectedItems.Count 

này sẽ trả lại số như chuỗi:

listBox.SelectedItems.Count.ToString() 
+0

Vui lòng định dạng câu trả lời của bạn để dễ đọc hơn – davids

0
int count = 0; 
foreach(ListItem item in this.ListBox1.Items) 
{ 
    if(item.Selected) 
    { 
    count++; 
    } 
} 
int c = count; 
Các vấn đề liên quan