Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > генерация контексного меню


Автор: KuZyagroup 30.5.2007, 02:15
Код

private ToolStripMenuItem[] myToolStripMenuItemCollection;

private void addGroupList2Menu()
{            
                int kolOfGroup = treeViewContactList.Nodes[0].GetNodeCount(false);
                TreeNode thisChild = treeViewContactList.Nodes[0].FirstNode;
                for (int i = 0; i < kolOfGroup; i++)
                {
                    this.myToolStripMenuItemCollection[i] = new System.Windows.Forms.ToolStripMenuItem();
// Точка зависания. (при этом программа работает дальше просто не ф-ция на этой строчке перестает исполняться
                    this.menuItem_drop2group.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.myToolStripMenuItemCollection[i]});
                    this.myToolStripMenuItemCollection[i].Size = new System.Drawing.Size(152, 22);
                    this.myToolStripMenuItemCollection[i].Text = thisChild.Text;                    

                    thisChild = thisChild.NextNode;
                }            
}

Ищю волшебную таблетку - помогите!!!

Автор: darkness 30.5.2007, 03:06
ммм...,  думаю трабла конкретно здесь (если я конечно правильно понял код, в такое время суток  smile ):

Код

new System.Windows.Forms.ToolStripItem[] { this.myToolStripMenuItemCollection[i]}


по-моему, тебе надо сначало отдельно сформировать массив определённой длины к примеру:
Код

System.Windows.Forms.ToolStripItem[] massiv =   new System.Windows.Forms.ToolStripItem[kolOfGroup];

заполнить его соответствующем образом, а потом уже:
Код

this.menuItem_drop2group.DropDownItems.AddRange(massiv);

Автор: KuZyagroup 30.5.2007, 03:34
Большое спасибо, волшебная таблека найдена ))))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)