progs.biz  
Начало>C#>Windows>Урок 9
C#
VB.NET
Visual C++.NET
Visual C++ 6
WinAPI
C++
Delphi
C++ Builder
Java
PHP
Visual Basic 6.0
DirectX
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Г. Шилдт. C#: Учебный курс.
Г. Шилдт. C#: Учебный курс.
Заказать на Озоне


SpyLOG
Яндекс-цитирования

C# для Windows
Урок 9. Создаем контекстное меню из главного

Часто в программе контекстное меню повторяет один из пунктов главного. Например, у вашей программе может быть пункт 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 главного меню:

Контекстное меню для формы
Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX new!
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz
Label

 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2004 сайт progs.biz
© 2002-2004 Алексеев Игорь