Esempio n. 1
0
        private OnlineStatusMenuItem NewMenuItem(ExtendedForm frm)
        {
            var newitem = new OnlineStatusMenuItem();

            newitem.Name       = frm.Name;
            newitem.Font       = dropDownControl.Font;
            newitem.Text       = frm.Text;
            newitem.Image      = frm.Icon.ToBitmap();
            newitem.TargetForm = frm;

            if (frm is IOnlineStatus)
            {
                newitem.SetOnlineStatusInterface((IOnlineStatus)frm);
            }
            newitem.ToolTipText = "Right-Click to close. Middle-Click to minimize.";
            newitem.MouseUp    += ItemClicked;
            return(newitem);
        }
Esempio n. 2
0
        /// <summary>
        /// Removes the menu item for the specified child form.
        /// </summary>
        /// <param name="child"></param>
        /// <param name="targetMenu"></param>
        private void RemoveChildMenu(ExtendedForm child, ToolStripItemCollection targetMenu)
        {
            // Must use a regular 'for' block because we are going to modify the collection.
            // Iterate and recurse all menu items and remove any items that match the specified child form.
            for (int i = 0; i < targetMenu.Count; i++)
            {
                // Ignore seperators.
                if (targetMenu[i] is OnlineStatusMenuItem)
                {
                    OnlineStatusMenuItem item = (OnlineStatusMenuItem)targetMenu[i];
                    if (item.TargetForm == child)
                    {
                        DisposeDropDownItem(item);
                    }

                    if (item.HasDropDownItems)
                    {
                        RemoveChildMenu(child, item.DropDownItems);
                    }
                }
            }
        }