Блокировка пунктов в контекстном меню - C#

Узнай цену своей работы

Формулировка задачи:

На форме у графика можно выбирать тип отображения и палитру, но как сделать чтоб при выборе типа он становился Enabled? или как то по другому блокировался.
using System;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
 
private void ChangeTypeChart(object sender, EventArgs e)
        {
            var typeGraf = sender.ToString();
            switch (typeGraf)
            {
                case "SplineRange":
                    chart1.Series[0].ChartType = SeriesChartType.SplineRange;
                    break;
                case "Bubble":
                    chart1.Series[0].ChartType = SeriesChartType.Bubble;
                    break;
                case "Funnel":
                    chart1.Series[0].ChartType = SeriesChartType.Funnel;
                    break;
                case "Pyramid":
                    chart1.Series[0].ChartType = SeriesChartType.Pyramid;
                    break;
                case "RangeBar":
                    chart1.Series[0].ChartType = SeriesChartType.RangeBar;
                    break;
                case "Bar":
                    chart1.Series[0].ChartType = SeriesChartType.Bar;
                    break;
                case "Doughnut":
                    chart1.Series[0].ChartType = SeriesChartType.Doughnut;
                    break;
                case "Pie":
                    chart1.Series[0].ChartType = SeriesChartType.Pie;
                    break;
                case "Line":
                    chart1.Series[0].ChartType = SeriesChartType.Line;
                    break;
                case "SpLine":
                    chart1.Series[0].ChartType = SeriesChartType.Spline;
                    break;
                case "StepLine":
                    chart1.Series[0].ChartType = SeriesChartType.StepLine;
                    break;
                case "FastLine":
                    chart1.Series[0].ChartType = SeriesChartType.FastLine;
                    break;
                case "Column":
                    chart1.Series[0].ChartType = SeriesChartType.Column;
                    break;
                case "Area":
                    chart1.Series[0].ChartType = SeriesChartType.Area;
                    break;
                case "SplineArea":
                    chart1.Series[0].ChartType = SeriesChartType.SplineArea;
                    break;
 
                    // Выбор палитры
 
                case "BrightPastel":
                    chart1.Series[0].Palette = ChartColorPalette.BrightPastel;
                    break;
                case "Berry":
                    chart1.Series[0].Palette = ChartColorPalette.Berry;
                    break;
                case "Bright":
                    chart1.Series[0].Palette = ChartColorPalette.Bright;
                    break;
                case "Chocolate":
                    chart1.Series[0].Palette = ChartColorPalette.Chocolate;
                    break;
                case "SemiTransparent":
                    chart1.Series[0].Palette = ChartColorPalette.SemiTransparent;
                    break;
                case "EarthTones":
                    chart1.Series[0].Palette = ChartColorPalette.EarthTones;
                    break;
                case "Excel":
                    chart1.Series[0].Palette = ChartColorPalette.Excel;
                    break;
                case "Fire":
                    chart1.Series[0].Palette = ChartColorPalette.Fire;
                    break;
                case "None":
                    chart1.Series[0].Palette = ChartColorPalette.None;
                    break;
                case "Pastel":
                    chart1.Series[0].Palette = ChartColorPalette.Pastel;
                    break;
                case "SeaGreen":
                    chart1.Series[0].Palette = ChartColorPalette.SeaGreen;
                    break;
            }
        }

Решение задачи: «Блокировка пунктов в контекстном меню»

textual
Листинг программы
ToolStripMenuItem chooseToolStripMenuItem; //выбранный элемент меню
 
        private void ChangeTypeChart(object sender, EventArgs e)
        {
 
            if (chooseToolStripMenuItem != null)
            {
                chooseToolStripMenuItem.Enabled = true; //открыть доступ к элементу меню выбранному в предыдущий раз
            }
            var typeGraf = sender.ToString();
            chooseToolStripMenuItem = (ToolStripMenuItem)sender;
            chooseToolStripMenuItem.Enabled = false;
 
           /*
             все остальное что было
          */
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5