2011-10-24 12 views
18

Nella mia applicazione sto usando una voce di menu popup quando si fa clic con il pulsante destro su un oggetto. Mi dinamicamente costruire questo menu utilizzando il codice in questo modo:Come si imposta la voce di menu predefinita in ContextMenuStrip?

ContextMenuStrip menu = new ContextMenuStrip(); 
menu.Items.Add(new ToolStripMenuItem("Item1", aNiceImage, someFunction)); 
menu.Items.Add(new ToolStripMenuItem("Item2", alsoNiceImage, someOtherFunction)); 

Ora voglio impostare una di queste voci di menu in grassetto (come viene raccomandato dalle Linee Guida per l'utente esperienza di Windows) per indicare quale azione corrisponde con un doppio clic l'oggetto.

Come posso fare?

risposta

16

utilizzare item.Font = new Font(item.Font, item.Font.Style | FontStyle.Bold) per rendere in grassetto il carattere corrente.

è anche possibile selezionare automaticamente l'elemento predefinito nel modo seguente:

private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) 
{ 
    contextMenuStrip1.Items[3].Select(); 
} 
+0

semplice ... Grazie. –

+0

Questo funziona per me nel progetto WPF 'ToolStripMenuItem1.Font = new Font (ToolStripMenuItem1.Font, System.Drawing.FontStyle.Bold);' – vinsa

3

utilizza la proprietà Font per specificare un tipo di carattere con il FontStyle desiderata:

myToolStripMenuItem.Font = new Font(
    FontFamily.GenericSansSerif, 
    12.0F, FontStyle.Bold); 

Ovviamente alterare gli ingressi per l'uscita desiderata, FontStyle.Bold essendo la parte importante.

Problemi correlati