In .net 3.5 windows forms Tôi có một listview với "CheckBoxes" = true. Có thể tắt hoặc tắt một số mục để ngăn người dùng kiểm tra hộp không?Làm thế nào để bạn vô hiệu hoá một mục trong điều khiển listview trong .net 3.5
Trả lời
Bạn có thể sử dụng thuộc tính ListBoxItem.ForeColor và UseItemStyleForSubItems để làm cho mục trông mờ đi. Sử dụng SystemColors.GrayText để chọn màu chủ đề cho các mục bị vô hiệu hóa. Tránh tắt lựa chọn, nó ngăn người dùng sử dụng bàn phím. Chỉ vô hiệu hóa việc kiểm tra hộp kiểm. Ví dụ:
private void listView1_ItemCheck(object sender, ItemCheckEventArgs e) {
// Disable checking odd-numbered items
if (e.Index % 2 == 1) e.NewValue = e.CurrentValue;
}
Bạn nên đặt thuộc tính Tự động kiểm tra của hộp kiểm sai.
Tự động kiểm tra - Nhận hoặc đặt giá trị cho biết liệu giá trị Séc hoặc CheckState và xuất hiện của CheckBox có được tự động thay đổi khi Hộp kiểm được nhấp hay không.
Thực tế điều này chỉ có thể sử dụng để kiểm soát hộp kiểm.
Bạn phải tự cuộn cho riêng mình. Xử lý 's ListView
ItemSelectionChanged
sự kiện - nếu bạn không muốn có một mặt hàng cụ thể để có thể lựa chọn, thực hiện điều này:
e.Item.Selected = false;
Bạn có thể làm cho một mục cụ thể xuất hiện unselectable bởi già nó ra, thay đổi màu chữ, vv
Tôi đã nhận lời khuyên Hans Passant - cách tiếp cận trực quan tốt trong trường hợp của tôi biểu thị các mục không thể thực hiện được. Đây là mẫu:
'Select all attachements in case user wants to mask or pick and choose
For i As Integer = 0 To lstView.Items.Count - 1
If Not Scan.SupportedMasking.Contains(Path.GetExtension(lstView.Items(i).Text)) Then
lstView.Items(i).ForeColor = SystemColors.GrayText
lstView.Items(i).Text += " (No masking supported)"
lstView.Items(i).BackColor = SystemColors.InactiveBorder
lstView.Items(i).Selected = False
Else
lstView.Items(i).Selected = True
End If
Next i
sử dụng hoặc đặt displaymode để xem insted of edit!
public void SetItemEnabled(ListViewItem item, bool enabled)
{
if (item != null)
{
List<ListViewControl> lvControls = this.ListViewControls.FindAll(FindListViewControl(item));
foreach (ListViewControl lvControl in lvControls)
{
if (lvControl.Control != null)
{
lvControl.Control.Enabled = enabled;
}
}
}
}
- 1. ASP.Net: Làm thế nào để vô hiệu hoá một ListItem?
- 2. Làm thế nào để vô hiệu hóa bộ nhớ đệm trong điều khiển .NET WebBrowser?
- 3. Vô hiệu hoá SelectedImageIndex trong Treeview
- 4. Làm thế nào để vô hiệu hóa nội địa hoá của các lỗi trong Visual Studio?
- 5. Android vô hiệu hóa các mục listview
- 6. làm thế nào để vô hiệu hóa toàn bộ điều khiển thả xuống trong html
- 7. Làm thế nào để vô hiệu hoá các báo cáo đăng nhập trong QuickBlox?
- 8. Làm thế nào để bạn đối phó với các điều khiển tạm thời vô dụng trong Winforms (ẩn vs vô hiệu hóa)?
- 9. Làm thế nào để vô hiệu hoá nhập khẩu sao trong Eclipse Juno
- 10. Vô hiệu hóa tiêu điểm mục trong ListView
- 11. Làm thế nào để vô hiệu hóa gói văn bản trong điều khiển hộp văn bản?
- 12. Làm thế nào để bạn vô hiệu hóa hiệu ứng MouseOver trên một Nút trong WPF?
- 13. Làm cách nào để thay đổi ForeColor của một mục con trong điều khiển ListView?
- 14. Vô hiệu hoá nút điều hướng ngược lại
- 15. Làm thế nào để vô hiệu hóa hiệu ứng Di chuột và Ngói của ListView?
- 16. Làm thế nào để ẩn một cột trong một điều khiển ListView?
- 17. Làm thế nào để vô hiệu hóa các điều khiển trong một trang ASP.NET khi usercontrol được chọn?
- 18. Làm cách nào để bỏ chọn mục trong ListView?
- 19. Làm thế nào để Vô hiệu hoá Android LocationListener khi ứng dụng được đóng
- 20. Làm cách nào để vô hiệu hoá việc tuần tự hóa trong Wicket 1.5?
- 21. NSTableView - Vô hiệu hoá lựa chọn hàng
- 22. Làm thế nào để bạn vô hiệu hóa nhấp chuột phải bên trong một TextBox
- 23. Làm thế nào để vô hiệu hóa các mục menu trong ContextMenuStrip?
- 24. Làm thế nào để vô hiệu hóa trạng thái điều khiển nổi bật của UIButton?
- 25. Làm cách nào để vô hiệu hoá tối ưu hóa trình biên dịch trong C#?
- 26. QGraphicsView: Vô hiệu hoá tự động cuộn
- 27. Làm thế nào để vô hiệu hóa lựa chọn một mục duy nhất trong GridView
- 28. Làm thế nào để vô hiệu hóa mod_deflate trong apache2?
- 29. Vô hiệu hóa tất cả các tệp trong một thư mục trong bảng điều khiển đám mây
- 30. Vô hiệu hoá gói ngoại lệ WPF để gỡ lỗi
Thanks, điều này làm việc cho tôi nhưng tôi giao e.NewValue để CheckedState.Unchecked vì tôi muốn đảm bảo rằng nó sẽ bị bỏ lại không được kiểm soát ngay cả khi nó không phải là để bắt đầu với. –