Tôi đã thử nhiều thứ, nhưng không có công cụ nào trong số đó hoạt động ...không thể mang biểu mẫu đến trước
Tôi có Biểu mẫu phải có mặt trước tất cả Windows khi nhấp vào NotifyIcon. Vì vậy, đây là những gì tôi đã cố gắng:
private void notifyIcon1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.TopMost = true;
this.BringToFront();
this.Focus();
this.TopMost = false;
}
}
Sau đó, tôi cố gắng sử dụng SetForegroundWindow:
[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
public static extern bool SetForegroundWindow(IntPtr hwnd);
bằng cách thêm
SetForegroundWindow(this.Handle);
vào cuối nếu khối. Cuối cùng, tôi thấy rằng khi điều này không hoạt động nếu tôi nhấp vào nút chuột phải trên NotifyIcon và menu ngữ cảnh được mở ra, tôi có thể sau đó nhấp chuột trái NotifyIcon và nó mang nó đến phía trước.
Tôi đã cố gắng để thêm mã này ngay từ đầu:
cmsNotifyIcon.Show();
cmsNotifyIcon.Close();
Vì vậy mà nó cho thấy và đóng NotifyIcon menu ngữ cảnh, như một ý tưởng có thể cho khắc phục, nhưng nó không giúp đỡ.
Bất kỳ ý tưởng nào về cách thực hiện việc này hoặc giải quyết vấn đề này?
Ý tưởng hay, Kích hoạt() không thể khắc phục được. –
Tôi có thể thử, nhưng tôi không có hy vọng cao trong điều này, bởi vì sự kiện MouseDown được kích hoạt, tôi có thể thấy rằng nếu tôi chèn điểm ngắt trong mã. Dù sao, vì điều này không xảy ra liên tục, tôi cần một thời gian để kiểm tra. –
Tôi nghĩ rằng tôi đã có đủ quan sát để cho rằng đây sẽ là giải pháp cho vấn đề của tôi. Nếu vấn đề nào đó xuất hiện trở lại, tôi sẽ báo cáo. –