2009-07-01 24 views
8

Tôi có một loạt các hộp kiểm trên biểu mẫu. Tôi muốn có thể chọn các mục này từ trình đơn ngữ cảnh cũng như chính biểu mẫu đó. Menu ngữ cảnh được liên kết với biểu tượng khay hệ thống của ứng dụng.C# Thêm hộp kiểm vào trình đơn ngữ cảnh WinForms

Câu hỏi của tôi là, có thể liên kết menu ngữ cảnh với các hộp kiểm này không? Hoặc thậm chí có thể thêm hộp kiểm vào menu ngữ cảnh? Hoặc thậm chí là kết hợp ?!

Trả lời

15

Các mục menu có thuộc tính Checked (MenuItem.Checked, ToolStripMenuItem.Checked) mà bạn có thể sử dụng cho mục đích này.

Về khả năng để liên kết các mục trong menu ngữ cảnh để các hộp kiểm, nếu bạn sử dụng một ContextMenuStrip và thiết lập CheckOnClick tài sản để true, bạn có thể treo lên các CheckedChanged sự kiện để xử lý sự kiện tương tự cho các ToolStripMenuItemCheckBox điều khiển nên được "liên kết" và bên trong trình xử lý sự kiện đó đảm bảo đồng bộ hóa thuộc tính Checked của các điều khiển và thực hiện bất kỳ hành động cần thiết nào khác.

1

Vâng, một mục menu có thuộc tính "Đã kiểm tra", có thể làm cho nó hoạt động như một hộp kiểm. Khi bạn nhấp vào một mục trình đơn, bạn có thể chuyển đổi trạng thái của hộp kiểm tương ứng trên biểu mẫu của bạn theo chương trình.

Bạn cũng có thể sử dụng sự kiện Mở của menu ngữ cảnh để đặt trạng thái Đã kiểm tra của các mục menu dựa trên trạng thái đã chọn của các hộp kiểm.

1
//Create the combo box object and set its properties 
    cmbFunctionArea    = new ComboBox(); 
    cmbFunctionArea.Cursor  = System.Windows.Forms.Cursors.Arrow; 
    cmbFunctionArea.DropDownStyle=System.Windows.Forms.ComboBoxStyle.DropDownList; 
    cmbFunctionArea.Dock   = DockStyle.Fill; 
    //Event that will be fired when selected index in the combo box is changed 
    cmbFunctionArea.SelectionChangeCommitted += new EventHandlercmbFunctionArea_SelectedIndexChanged); 
Các vấn đề liên quan