示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MenuContextClick(object sender, EventArgs e)
        {
            var id   = -1;
            var it   = (MenuItem)sender;
            var mTag = (MenuTag)it.Tag;
            var pan  = _graphTabPanel.GetPanelControlFromTag(mTag.PanelTag);
            var pm   = it.Parent;

            it.Checked = !it.Checked;

            if (pan.TagList == null)
            {
                return;
            }

            for (var i = 0; i < pan.TagList.Length; i++)
            {
                if (pan.TagList[i].Tag != mTag.GraphTag)
                {
                    continue;
                }
                id = i;
                break;
            }
            if (id == -1)
            {
                if (mTag.ItemTag == GraphOption.Visible && it.Checked)
                {
                    TagGraph(pan, mTag, it.Checked);
                    if (pan.Legend.Visible)
                    {
                        pan.Legend.UpdateLegend(pan);
                    }
                    _graphPanel.RedrawGraphics();
                }
                return;
            }


            switch (mTag.ItemTag)
            {
            case GraphOption.Visible:
                TagGraph(pan, mTag, it.Checked);
                break;

            case GraphOption.Highlight:
                pan.TagList[id].Highlight = it.Checked;
                break;

            case GraphOption.AsPoint:
                pan.TagList[id].AsPoint = it.Checked;
                break;

            case GraphOption.Master:
                foreach (var t in pan.TagList)
                {
                    t.Master = false;
                }
                if (!it.Checked)
                {
                    id = 0;
                }
                SetMaster(pan.ConMenu, pan.TagList[id].Tag);
                pan.TagList[id].Master = true;
                _graphParams.MasterCallBack();
                break;

            case GraphOption.Colour:
                for (var j = 0; j < pm.MenuItems.Count; j++)
                {
                    pm.MenuItems[j].Checked = false;
                }
                it.Checked             = true;
                pan.TagList[id].Colour = Params.GetPenColour(mTag.ColourTag);
                break;
            }
            if (pan.Legend.Visible)
            {
                pan.Legend.UpdateLegend(pan);
            }
            _graphPanel.RedrawGraphics();
        }