Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Динамическое создание элементов контекстного меню |
Автор: ajunta 12.9.2008, 15:20 | ||
Привет! Идея задачи такая - есть много объектов на форме, для каждого из которых должно быть доступно контекстное меню. Причеи элементы жэтого меню - для каждого свои. Точнее так - есть набор элементов меню, характерный для всех, и в довесок к нему нужно создать еще элементов. На простом примере пытаюсь реализовать это так: в contextMenuStrip1 дизайн-тайм создал характерные для всех элементы, а contextMenuStrip2 повесил как общий компанент для контекстного меню, далее:
так вот это работает только один раз, а потом помсле contextMenuStrip2.Items.Clear(); элементов не остается ни в contextMenuStrip2, ни в contextMenuStrip1. И при следубющем клике видны только индивидуальные элементы, а общие потеряны. что я делаю не так? |
Автор: Dennnis 12.9.2008, 16:45 | ||
Вот этим
Вот этимты их удаляешь. После этого у тебя нет элементов ни в contextMenuStrip1 ни в contextMenuStrip2. Добавлено через 6 минут и 18 секунд Вместо contextMenuStrip2.Items.Clear() воспользуйся contextMenuStrip2.Items.RemoveAt(int index), и удаляй только динамически созданные элементы. |
Автор: Wanderer2019 12.9.2008, 17:36 |
ajunta, какой то не совсем удачный способ. Уж лучше в XML хранить список меню для конкретного объекта. |
Автор: Bishop 13.9.2008, 15:29 | ||
ajunta, я бы сразу заполнил меню всеми пунктами, а при его раскрытии скрывал ненужные. Простейшая реализация:
|
Автор: ajunta 15.9.2008, 09:41 |
Спасибо!, разобрался! Удалять дополтные элементы действиетльно проще ![]() |