2011-12-09 43 views
47

Sự khác biệt giữa .ContextMenu.ContextMenuStrip trong Biểu mẫu Windows là gì?Sự khác biệt giữa .ContextMenu và .ContextMenuStrip

Tôi đã biết số ContextMenu là gì, nhưng cách ContextMenuStrip khác với ContextMenu?

+0

Có tôi đã kiểm tra MSDN trước nhưng không có thông tin hữu ích. – thenonhacker

+16

Gee tại sao các downvotes? FYI, hầu như tất cả câu hỏi StackOverflow về C# có thể được trả lời bằng MSDN, Google, Bing và Internet. Điều đáng hỏi ở đây, bởi vì các nhà phát triển có thể muốn tìm câu trả lời đầu tiên trong StackOverflow! – thenonhacker

+5

Tôi downvoted mỗi câu trả lời (nhưng không phải là câu hỏi) bởi vì "ContextMenusStrip thay thế ContextMenu" là một ngáp lớn. Tất nhiên nó. Câu hỏi đặt ra là * sự khác biệt là gì? * –

Trả lời

36

http://www.informit.com/articles/article.aspx?p=606224&seqNum=2

Bạn có thể tự hỏi tại sao Microsoft đã thay thế một giá trị và phổ biến kiểm soát với một người mới. Điều khiển ContextMenuStrip mất một ý tưởng tốt và làm cho nó tốt hơn. Nó hoạt động giống như điều khiển ContextMenu. Bạn vẫn đính kèm quyền kiểm soát ContextMenuStrip cho điều khiển người dùng khác bằng cách thay đổi thuộc tính ContextMenuStrip của kiểm soát đó. Tuy nhiên, Microsoft đã được cải thiện đáng kể các tính năng bạn có thể thêm vào một tiếp ContextMenuStrip ...

Nhìn vào ví dụ tại MSDN:

http://msdn.microsoft.com/en-us/library/system.windows.forms.contextmenustrip.aspx

ContextMenuStrip thay thế ContextMenu.Bạn có thể liên kết ContextMenuStrip với bất kỳ kiểm soát nào và nhấp chuột phải sẽ tự động hiển thị trình đơn phím tắt. Bạn có thể hiển thị ContextMenuStrip theo chương trình bằng cách sử dụng phương pháp Hiển thị. ContextMenuStrip hỗ trợ có thể hủy Mở và đóng sự kiện để xử lý dân số động và các trường hợp nhiều lần nhấp. ContextMenuStrip hỗ trợ hình ảnh, trạng thái kiểm tra mục menu, văn bản, truy cập phím, phím tắt và menu xếp tầng.

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.contextmenustrip.aspx

Nếu một ContextMenu cũng đã được giao nhiệm vụ kiểm soát, ContextMenu được ưu tiên hơn các ContextMenuStrip.

+0

Điểm cuối cùng ở đây, tôi nghĩ, trả lời câu hỏi. Vì vậy, về cơ bản, tránh xa ContextMenu hoàn toàn và sử dụng ContextMenuStrip để thay thế. – nurchi

3

Theo MSDN, các ContextMenuStrip thay thế lớp ContextMenu:

Mặc dù ContextMenuStrip thay thế và bổ sung thêm chức năng cho ContextMenu kiểm soát của các phiên bản trước, ContextMenu được giữ lại cho cả khả năng tương thích ngược và sử dụng sau này nếu bạn chọn.

Nguồn: MSDN - ContextMenu

Edit: tại sao -1?

+2

Thats thể thao xấu, downvoting và không bình luận. Làm thế nào người ta sẽ học được từ đó ..? – Alex

+0

-1 là vì bạn không trả lời câu hỏi theo cách không tầm thường. OP đã hỏi * sự khác biệt là gì, * và tôi không thấy bất kỳ giá trị nào trong câu trả lời của bạn cho thấy rõ ràng. –

+1

Tôi không đồng ý với bạn. Tại thời điểm viết bài, chưa có câu trả lời nào. Câu hỏi đặt ra là 'ContextMenuStrip khác với ContextMenu' như thế nào, và tôi đã trích dẫn câu trả lời từ MSDN. Dù sao; Tôi muốn biết những gì tôi đã làm sai sau khi một downvote. – Rhapsody

7

Từ doc

ContextMenuStrip thay thế ContextMenu.

+1

Cảm ơn bạn đã chỉ định điều này. MSDN là một đống cỏ khô, có thể có nhiều trang về một điều khiển, và điều này trả lời câu hỏi. – thenonhacker

1

Nếu bạn Hoover qua ContextMenu bạn sẽ nhận thấy rằng ContextMenuStrip thay thế nó nhưng ContextMenu đã được để lại cho các mục đích tương thích.

2

contextMenu - msdncontextMenuStrip - msdn

ContextMenu - Đại diện cho một menu chuột phải. Mặc dù ContextMenuStrip thay thế và thêm chức năng vào điều khiển ContextMenu của các phiên bản trước đó, ContextMenu được giữ lại cho cả khả năng tương thích ngược và sử dụng trong tương lai nếu bạn chọn.

ContextMenuStrip thay thế và bổ sung thêm chức năng để điều khiển ContextMenu của các phiên bản trước

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