2013-04-11 23 views
8

Không giống như những người khác muốn thêm các mục vào Windows Explorer, tôi muốn hiển thị menu ngữ cảnh trong ứng dụng của mình. Bây giờ bạn có thể nghĩ, lớp bạn đang tìm kiếm là ContextMenu. Hãy để tôi chỉ cho bạn những gì tôi thích làm. Xin tha cho những hình ảnh nhỏ ...Sử dụng menu ngữ cảnh của bên thứ 3 (dành cho Windows Explorer) trong ứng dụng C#?

Dưới đây là những gì tôi hiện có:

My current context menu

Đây là những gì tôi muốn nó là:

What I'd like it to look like

Hãy có được các giả định trên đường đi. Tôi đã phát hiện ra rằng người dùng đã cài đặt TortoiseSVN và mục họ đang chọn nằm dưới sự kiểm soát nguồn.

Nghiên cứu của tôi cho đến thời điểm này:

Retrieving context menus - Điều này rất hữu ích. Đây là thư viện C# cho Windows Explorer (có thể truy xuất menu ngữ cảnh cho một thư mục/tệp cụ thể). Tuy nhiên, ngay cả khi kiểm tra ví dụ, nó không lấy các tùy chọn TortoiseSVN.

Another context menu retrieval - Hầu như giống với liên kết trước đó (mã C# một lần nữa). Nhận trình đơn ngữ cảnh của Windows Explorer trừ đi các tùy chọn TortoiseSVN.

Process to add context menu - Tôi vừa mới bắt đầu đọc các bài đăng chuyên sâu này. Câu trả lời có thể nằm trong văn bản này nhưng nó sẽ đưa tôi một thời gian để vượt qua nó. Nếu tôi có bất kỳ may mắn với những điều này, tôi sẽ gửi lại một câu trả lời.

User appears to be able to accomplish this - Đây dường như là một nhóm email đề cập đến phát triển SVN. Tại sao đăng nó ở đây? Có lẽ để chứng minh rằng điều này có thể được thực hiện. Để báo: "Tôi đang chơi với trình đơn ngữ cảnh trình bao TSVN. Tôi đang sử dụng phương thức IContextMenu.QueryContextMenu (mã C++) để truy cập menu ngữ cảnh trình bao TSVN và sau đó tôi duyệt qua trình đơn trả về."

Tất cả trong tất cả, điều này có vẻ như nó phải là một điều khá thẳng về phía trước để làm và tôi chỉ thiếu một bước. Bất kỳ và tất cả các lời đề nghị được hoan nghênh. Cảm ơn!

Chỉnh sửa: Cố gắng tận dụng tốt hơn các thẻ và một tiêu đề tập trung hơn

+0

Tôi đã cố gắng xem xét các lý do khác nhau tại sao menu ngữ cảnh TortoiseSVN không hiển thị khi sử dụng 2 dự án C# nguồn mở hoạt động như Windows Explorer. Những gì tôi nhận ra gần đây là trong khi TortoiseSVN không hiển thị, các công cụ khác của bên thứ ba làm (Beyond Compare chẳng hạn). Ban đầu tôi tin rằng có lẽ có sự khác biệt trong các khóa registry đã đóng một phần của điều này. Tôi đã không tìm thấy bất kỳ thành công nào trong quan sát đó (TSVN ở tất cả các địa điểm đăng ký giống như BC). Tôi bắt đầu tự hỏi nếu điều này thực sự chỉ là một vấn đề TortoiseSVN. Sẽ cập nhật khi tôi nhận được nhiều hơn. – techvice

+0

Vui lòng giải thích tại sao lớp .net ContextMenu không hoạt động. – PeterM

+0

Nếu bạn đặc biệt muốn sử dụng TortoiseSVN, bạn có thể gọi trực tiếp cho nó: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html – oefe

Trả lời

0

Thay vì cố kéo từ Windows Explorer, cuối cùng tôi đã tự triển khai lại ContextMenu. Thêm các cuộc gọi trực tiếp vào TortoiseSVN (như đã đề cập trước đó). Không phải là giải pháp siêu thanh lịch mà tôi muốn nhưng nó hoạt động tất nhiên!

Tôi sẽ lưu ý rằng người dùng đã chỉ ra rằng vấn đề chính có thể là do x86 vs x64 (TortoiseSVN được cài đặt là x64 trên máy phát triển của tôi). Những người dùng khác có thể muốn xem xét điều đó nếu họ cố thực hiện một tác vụ tương tự.

0

Hy vọng rằng sau đây sẽ giúp bạn bắt đầu

+0

Không hữu ích. Tất cả những gì bạn đã làm là hiển thị các liên kết dễ dàng tìm thấy trong stackoverflow.com. Ngoài ra, các liên kết mà bạn đã liệt kê về cơ bản sẽ đun sôi xuống các liên kết mà tôi đã cung cấp. – techvice

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