簡體   English   中英

如何為notifyicon 制作菜單?

[英]How can I make a menu for notifyicon?

所以..我在谷歌上到處搜索,我看到了創建這個的不同方法..

但到目前為止,我還沒有設法制作一個單一的工作菜單。

所以我想問一下,如何創建一個notifyIcon菜單?..(最好詳細解釋,因為我對此很陌生)

哪種方式最好,我應該使用哪種方式..(到目前為止,人們似乎總體上喜歡 contextmenu,但我能找到的只是 contextmenustrip,不確定它是否相同。)

目前我得到了一個表單,設置為visible = falsewindowstate minimizedshowintaskbar = 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM