webForumDet fria alternativet

Dynamisk och klickbar MenuStrip

.NETur .NET

5 svar · 529 visningar · startad av MatsJ

Medlem sedan apr. 2004459 inlägg
Frågan#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

135 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)