none
Динамическое создание контекстного меню. RRS feed

  • Вопрос

  • Доброго времени суток. Задача такая: изначально есть контекстное меню. Необходимо добавить 2 уровня вложения. Первый уровень вложения я делаю таким образом (через foreach):

    (contextMenuStrip1.Items[0] as ToolStripMenuItem).DropDownItems.Add(projname);

    Потом, к каждому мною созданному пункту надо прикрутить ещё подменю. Что-то вот такого вида (картинка только для наглядности):

    Изначально в меню прописан первый уровень. Программно добавляю второй уровень. А вот как каждому пункту 2-го уровня присвоить ещё одно подменю я не знаю. Помогите советом пожалуйста. Спасибо!


    • Изменено Boguyang 22 октября 2013 г. 3:36
    22 октября 2013 г. 3:35

Ответы

  • Добрый день.

    Вы не тот тип метода Add используете. Нужно сначала создать ToolStripMenuItem, а потом его добавлять. Как то так:

    ToolStripMenuItem projMenuItem = new ToolStripMenuItem(projname);
    (contextMenuStrip1.Items[0] as ToolStripMenuItem).DropDownItems.Add(projMenuItem);
    projMenuItem.DropDownItems.Add(new ToolStripMenuItem("Подпункт 1"));

    • Помечено в качестве ответа Boguyang 22 октября 2013 г. 9:56
    22 октября 2013 г. 5:24
    Отвечающий

Все ответы

  • Добрый день.

    Вы не тот тип метода Add используете. Нужно сначала создать ToolStripMenuItem, а потом его добавлять. Как то так:

    ToolStripMenuItem projMenuItem = new ToolStripMenuItem(projname);
    (contextMenuStrip1.Items[0] as ToolStripMenuItem).DropDownItems.Add(projMenuItem);
    projMenuItem.DropDownItems.Add(new ToolStripMenuItem("Подпункт 1"));

    • Помечено в качестве ответа Boguyang 22 октября 2013 г. 9:56
    22 октября 2013 г. 5:24
    Отвечающий
  • Спасибо! Точно так и сделал (вдобавок ко всему прописал Tag и прочие атрибуты)

    Можно закрывать!

    22 октября 2013 г. 9:56