Часто в программе контекстное меню повторяет один из пунктов главного. Например, у вашей программе может быть пункт Edit с подпунктами Cut, Copy и Paste. Контекстное меню для главного окна программы может содержать эти же самые три пункта. Разумеется, и обработчики у пунктов меню должны быть такие же, как и у главного.
Вот как это делается. Создайте Windows-программу. Добавьте главное меню, для него создайте несколько пунктов с обработчиками. Пусть для определенности у меню главного окна нашей программы два пункта верхнего уровня (File и Edit) и у пункта Edit три подпункта (Cut, Copy и Paste). Для подпунктов Cut, Copy и Paste добавьте обработчики-заглушки (например, MessageBox'ы).
Добавьте на форму кнопку, в обработчике которой напишите следующий код:
private void button1_Click(object sender, System.EventArgs e)
{
// Создание контекстного меню.
ContextMenu cm = new ContextMenu();
// Слияние меню.
cm.MergeMenu(mainMenu1.MenuItems[1]);
// Подсоединение контекстного меню к главному окну.
ContextMenu = cm;
}
Запускаем программу. После нажатия на кнопку у окна нашей программы будет контекстное меню с пунктами, повторяющими подпунты пункта Edit главного меню: