Dynamisk och klickbar MenuStrip

.NET

5 svar · 541 visningar · startad av MatsJ

Medlem sedan apr. 2004459 inlägg
Trådstart#1

Jag försöker göra en dynamisk meny. Jag har lyckats med att lägga till nya alternativ med hjälp av följande

mnuChannels.DropDownItems.Add(mnuAddChannel.Text)

Men hur ska jag kunna få något att hända när jag klickar på dem?

menyn.jpg
Medlem sedan feb. 20002 300 inlägg
#2

MatsJ skrev:

Jag försöker göra en dynamisk meny. Jag har lyckats med att lägga till nya alternativ med hjälp av följande

mnuChannels.DropDownItems.Add(mnuAddChannel.Text)

Men hur ska jag kunna få något att hända när jag klickar på dem?

Koppla en eventhandler till Click-eventet för menyalternativet:

ToolStripMenuItem newMenuItem = new ToolStripMenuItem("Foo");
newMenuItem.Click += new EventHandler(menuItem_Click);
mnuChannels.DropDownItems.Add(newMenuItem);

...

private void menuItem_Click(object sender, EventArgs e)
{
    // Gör nåt!
}
Medlem sedan apr. 2004459 inlägg
#3

Tack! Funkar prima!

Medlem sedan apr. 2004459 inlägg
#4

... nu kom jag på att jag vill ha en till funktion. Hur gör man för att detektera ett högerklick också? :)

Medlem sedan feb. 20002 300 inlägg
#5

MatsJ skrev:

... nu kom jag på att jag vill ha en till funktion. Hur gör man för att detektera ett högerklick också? :)

Då får du använda MouseDown/MouseUp-eventet på ditt menuitem istället och kolla vilken musknapp som använts:


...
newMenuItem.MouseUp += new MouseEventHandler(menuItem_MouseUp);
...

private void menuItem_MouseUp(object sender, MouseEventArgs e)
{
    if(e.Button == MouseButtons.Right)
    {
        // Högerklick!
    }
}
Medlem sedan apr. 2004459 inlägg
#6

Tackar igen! :bire

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)