![](/img/trans.png)
[英]How can I use a modern Windows 10 context menu with a Win32 NotifyIcon?
[英]How can I make a menu for notifyicon?
所以..我在谷歌上到處搜索,我看到了創建這個的不同方法..
但到目前為止,我還沒有設法制作一個單一的工作菜單。
所以我想問一下,如何創建一個notifyIcon菜單?..(最好詳細解釋,因為我對此很陌生)
哪種方式最好,我應該使用哪種方式..(到目前為止,人們似乎總體上喜歡 contextmenu,但我能找到的只是 contextmenustrip,不確定它是否相同。)
目前我得到了一個表單,設置為visible = false
, windowstate minimized
, showintaskbar = false
。
這就是目前的全部內容。 我想在更廣泛之前先吃菜單。
感謝您為此付出的時間和精力(不確定它是否正確制定)
編輯:我似乎設法制作了一個菜單,但是我如何讓它“出現”在我的通知圖標上,它是一個 ContextMenu o_o
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TrayTest.events
{
public partial class TrayMenu : Form
{
public TrayMenu()
{
InitializeComponent();
TrayMenuContext();
}
private void TrayMenuContext()
{
this.notify_icon.ContextMenuStrip = new System.Windows.Forms.ContextMenuStrip();
this.notify_icon.ContextMenuStrip.Items.Add("Test1", null, this.MenuTest1_Click);
this.notify_icon.ContextMenuStrip.Items.Add("Test2", null, this.MenuTest2_Click);
this.notify_icon.ContextMenuStrip.Items.Add("Exit", null, this.MenuExit_Click);
}
void MenuTest1_Click(object sender, EventArgs e)
{
Application.Exit();
}
void MenuTest2_Click(object sender, EventArgs e)
{
Application.Exit();
}
void MenuExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
這對我來說很好。 所以我就把它留在這里,讓其他人看到它..(這是我的 Form1,只是用不同的名字制作了 1,它在一個名為 events 的文件夾中(有點為什么它有那個 .events))
“編輯:我似乎設法制作了一個菜單,但我如何讓它“出現”在我的通知圖標上,它是一個 ContextMenu o_o”
我相信您只能使用 IDE 將 ContextMenuStrip 分配給 NotifyIcon。 對於 ContextMenu,您必須通過代碼將其連接起來。 雙擊您的表單以獲取 Load() 事件,並將其連接到那里:
private void Form1_Load(object sender, EventArgs e)
{
notifyIcon1.ContextMenu = contextMenu1;
}
notifyIcon1->ContextMenu = gcnew System::Windows::Forms::ContextMenu();
System::Windows::Forms::MenuItem^ nI_Open_Item = gcnew System::Windows::Forms::MenuItem("Open");
System::Windows::Forms::MenuItem^ nII_Close_item = gcnew System::Windows::Forms::MenuItem("Close");
notifyIcon1->ContextMenuStrip->Items->Add(status_Item);
notifyIcon1->ContextMenu->MenuItems->Add(nI_Open_Item);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.