2012-09-13 33 views
6

Tôi đang thiết kế tính năng ghi nhật ký trong đó Người dùng có thể chọn sự kiện mà anh ấy muốn đăng nhập. Mở nút nhấn, tôi thấy loại như vậy của menu: Context Menu on Button clickHiển thị hộp kiểm cho Menu ngữ cảnhBước hoặc Trình đơn ngữ cảnh của một nút

Người dùng có thể chọn nhiều sự kiện vì vậy tôi cần phải chứng minh "Kiểm tra Mark" trước mặt của tùy chọn chọn khi người dùng nhấp vào nó.

Tôi không thể tìm thấy bất kỳ tùy chọn nào như "Đã chọn" hoặc "CheckOnClick" như được đề cập trong this question.

Tôi đã thử với ContextMenu và ContextMenuStrips nhưng không thể đạt được Hộp kiểm. Bất kỳ đề xuất nào ??

+0

Nếu câu trả lời của tôi hỗ trợ bạn, bạn sẽ vui lòng được loại như vậy để chấp nhận nó như là câu trả lời chính xác cho vistors tương lai. Cảm ơn bạn. –

Trả lời

9

Không thấy bất kỳ mã nào của bạn để tôi không biết cách bạn tạo trình đơn này. Nhưng trong các thuật ngữ chung nhất, đây là cách bạn truy cập vào thuộc tính Checked.

((ToolStripMenuItem)contextMenuStrip.Items[0]).Checked = true; //false; 
((ToolStripMenuItem)contextMenuStrip.Items[1]).Checked = true; //false; 
((ToolStripMenuItem)contextMenuStrip.Items[2]).Checked = true; //false; 

Bạn có thể chỉ định chúng là đúng hoặc sai. Nếu bạn đã đặt tên cho số ToolStripItems thì bạn có thể truy cập trực tiếp thay vì truy cập mảng Items.

contextMenuStrip.event1.Checked = true; //false; 

Như bạn có thể thấy, tôi đang sử dụng ContextMenuStrip.

+0

Nhưng nó không giống như hộp kiểm trong giao diện người dùng?! chỉ hành động như thế nào? –

+0

Tôi sẽ thêm thuộc tính ShowCheckMargin phải được đặt thành true, như câu trả lời bên dưới nói. – Russell

1

Trong khi bạn có thể sử dụng:

((ToolStripMenuItem)contextMenuStrip.Items[0]).Checked = true; //false; 

này có thể nguy hiểm vì vào một ngày sau đó bạn có thể sắp xếp lại các mục trong menu của bạn và sau đó mã sẽ không phù hợp.

Thay vào đó, trong thiết kế nhấp chuột vào menu sau đó mục (như EVENT1) để xem các thuộc tính và thiết lập các mục Modifiers để Công hoặc nội. Sau đó, trong mã của bạn, bạn có thể nhập tên của mục và đặt dấu kiểm:

event1_ToolStripMenuItem.Checked = true; //false; 

Lưu ý: bạn không cần phải nhập tên dải trình đơn. Chỉ cần tên mục.

3

Để làm việc này trực quan, bạn cần đảm bảo thuộc tính "ShowCheckMargin" được BẬT. Nếu không, thuộc tính ".Checked" sẽ âm thầm không làm gì cả.

3

Thay đổi thuộc tính CheckOnClick để Đúng

enter image description here

Các vấn đề liên quan