C#动态创建下拉菜单

create dropdown menu dynamically in C#

我使用从某个文件中获取的文本为上下文菜单项创建了一个下拉菜单。

问题是,我不知道如何为这些菜单编写代码部分,我的意思是菜单是真实显示的,但我不知道如何编写代码以便在单击后执行某些操作。

有人能帮帮我吗? Tnx.

更多信息:

我有一个右键单击时会出现的上下文菜单。在此菜单中有一个包含下拉菜单的项目,例如,当您单击文件-->打开时,有 2 个选项打开视频/打开音乐。所以,我在代码中创建了那个下拉菜单,我没有在视觉上完成它,所以没有例如 "Private void openmusic_click" 让我写我的代码。我想知道我应该在哪里做所需的编码

这是创建下拉菜单的代码:

if (next > 0)
{
          string tex = playlists.Substring(here + 1, next - 1);
          Playlist_select.DropDownItems.Add(tex);
}
else
{
         string tex1 = playlists.Substring(here + 1, playlists.Length - here - 1);
         Playlist_select.DropDownItems.Add(tex1);
}

如果您使用的是 contextMenuStrip,则可以使用多个事件。请参阅某些 Microsoft 文档的评论中发布的 link Sine Nomen。

例如,要在运行时添加事件处理程序:

private void foo(object sender, EventArgs e) {
    //The function to call when an item is clicked.
}

private void Form1_Load(object sender, EventArgs e) {
    contextMenuStrip1.MouseClick += foo; // This adds foo as an EventHandler
}

与其将文本直接作为项目添加到 DropDownItems 属性,不如实例化一个项目对象,例如 ToolStripMenuItem:

ToolStripItem item = new ToolStripMenuItem();
item.text = playlists.Substring(here + 1, next - 1);

然后您可以在该项目上添加点击处理程序

item.Click +=item_Click;

它会是这样的:

    private void item_Click(object sender, EventArgs e)
    {

        // Your event processing logic here

    }