显示一个ContextMenuStrip而不显示在任务栏中

时间:2020-03-06 14:42:53  来源:igfitidea点击:

我发现,当我为contextmenustrip(右键单击菜单)执行show()方法时,如果该位置不在其所属窗体的位置,则它也会显示在任务栏上。

我正在尝试为当单击notifyicon时创建一个右键单击菜单,但是当菜单悬停在系统托盘上方而不是在窗体内部时(由于右键单击时可以最小化窗体),因此它会在任务栏上显示奇怪的原因

这是我目前的代码:

private: System::Void notifyIcon1_MouseClick(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {

if(e->Button == System::Windows::Forms::MouseButtons::Right) {

        this->sysTrayMenu->Show(Cursor->Position);

    }
}

我还需要设置其他哪些选项,这样它就不会在任务栏上显示空白进程。

解决方案

尝试将菜单分配给NotifyIcon的ContextMenuStrip属性,而不是将其显示在鼠标单击处理程序中。

我的问题是,双击鼠标中键和通知图标都可以使用菜单。

右键单击通知图标时,没有任务栏按钮,但是当我手动显示(Cursor.Position)时,它将显示一个任务栏按钮。