2009-03-05 31 views
7

Tôi đang sử dụng điều khiển NotifyIcon ở một trong các biểu mẫu con (phương thức) của con tôi và nó hoạt động tốt. Showing bóng lời khuyên như mong đợi, xử lý các sự kiện chuột vv ... Nó không Tuy nhiên biến mất khi tôi mong đợi nó. Cụ thể, khi tôi thoát khỏi biểu mẫu con và cha mẹ trở lại kiểm soát, biểu tượng vẫn còn. Đó là tooltip có thể truy cập vì vậy nó là rất nhiều "sống" như nó được.Làm cách nào để đảm bảo NotifyIcon biến mất?

Khi tôi sau đó thoát khỏi ứng dụng của tôi như một toàn thể hình ảnh vẫn còn cho đến khi tôi di chuột qua nó. Một khi đã biến mất nó biến mất.

Tôi làm cách nào để hoạt động bình thường? Ok bình thường là một từ xấu: -0 Làm thế nào tôi có thể làm cho nó biến mất khi hình thức tạo ra nó biến mất?

Ai đó có thể giải thích điều gì đang gây ra điều này, tôi nghĩ.

G

EDIT: Nếu tôi gọi phương thức Dispose theo hình thức đóng evernt làm việc này, nhưng tôi thực sự cần phải làm điều này? G

Trả lời

5

Đây là một suy nghĩ, không chắc chắn nếu điều này sẽ tạo sự khác biệt, nhưng bạn có đang gọi Dispose() trên NotifyIcon khi biểu mẫu con đóng không?

EDIT: Chỉ cần nhìn thấy chỉnh sửa của bạn, vâng tôi không ngạc nhiên rằng điều này sẽ giúp, và có bạn nên làm điều đó. Dưới đây là một số nội dung không được quản lý, và bạn cần phải giải phóng nó. Nói chung, bất cứ điều gì trong ứng dụng của bạn thực hiện IDisposable mà bạn đang sử dụng, làm cho bạn một ưu và Vứt bỏ nó.

+0

Wow, trả lời nhanh :-) Chỉ đề cập trong chỉnh sửa của tôi. Có điều này làm việc nhưng làm thế nào đến tôi phải làm điều này với các điều khiển nhưng không phải những người khác? –

+0

Cảm ơn bạn, +1, chấp nhận, điều này đã nêu lên một câu hỏi mới cho tôi, không hoàn toàn liên quan nên tôi sẽ đăng nó một cách riêng biệt –

+0

Nhưng, nếu NotifyIcon ở dạng con (ví dụ: biểu mẫu là chủ sở hữu), thì không nên t gọi Dispose trên form cũng hủy bỏ NotifyIcon? Hay bạn không vứt bỏ mẫu đơn? – OregonGhost

5
Icon.Visible = false 

cũng sẽ hoạt động. Dù sao, Dispose vẫn nên được gọi để vứt bỏ xử lý Windows.

1

This question tương tự.

Nếu bạn đồng ý với các phiên bản chương trình mới dọn dẹp khay hệ thống thay vì cố gắng đảm bảo dọn dẹp trên bất kỳ loại tắt nào, thì following sẽ mô phỏng dọn dẹp khay thông báo. Nó sử dụng một giải pháp SendMessage mô phỏng dọn dẹp người dùng trên chuột mà không cần phải di chuyển con trỏ của người dùng xung quanh.

Lưu ý rằng trên máy Windows 7, tên Notification Area phải được thay thế bằng User Promoted Notification Area.

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