Отключение ToolStripMenuItem против отключения MenuStrip.Item - PullRequest
0 голосов
/ 27 июля 2011

Когда пользователь входит в мое приложение, появляются некоторые пункты меню, которые я не хочу, чтобы каждый пользователь видел.Поэтому я бы хотел отключить или сделать невидимым пункт меню.Например, fileToolStripMenuItem - это первый элемент в моем menuStrip, когда я пытаюсь:

fileToolStripMenuItem.Enabled = false; - это не работает menuStrip.Items[0].Enabled = false; - это работает

Может кто-нибудь просветить менячто касается разницы здесь?

Кроме того, я хотел бы иметь возможность отключить выпадающий элемент из одного из пунктов меню, но я также не могу этого сделать.

Вот код:

public Form1()
        {
            InitializeComponent();

            // bunch of other code here

            if (!login.ValidatedUser)
            {
                menuStrip1.Items[0].Visible = false; // this works
                toolsToolStripMenuItem.Visible = false; // this does not
                btnStartResourceManager.Enabled = false;
                listAvailableSizes.Enabled = true;
                panelPicSet.Enabled = true;
            }
        }

Ответы [ 3 ]

5 голосов
/ 27 июля 2011

fileToolStripMenuItem.Enabled = false; работает как положено.Я думаю, что вы пытаетесь отключить его перед InitializeComponent ();звонок.

public form()
{
    InitializeComponent();
    fileToolStripMenuItem.Enabled = false;//disables all file menu
    saveasToolStripMenuItem.Enabled = false; //disables save as menu item in file menu list
}
0 голосов
/ 19 декабря 2013

Для вложенных элементов, просто щелкните правой кнопкой мыши на элементе и увидите его название в разделе «Дизайн» в окне «Свойства».В моем случае ниже addNewToolStripMenuItem1.

public Form()   
    {
        InitializeComponent();
        menuStrip1.Items[1].Visible = false; // For Main Item // Bold Letters
        addNewToolStripMenuItem1.Visible = false; //For Sub Items         
    }
0 голосов
/ 27 июля 2011

Используйте конкретное имя вашего пункта меню и измените его свойство Visible.т.е.

 private void toggleToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (shown)
            saveToolStripMenuItem.Visible = false;
        else
            saveToolStripMenuItem.Visible = true;
        shown = !shown;
    }
...