1

ユーザーがアプリケーションにログインすると、すべてのユーザーに表示したくないメニュー項目がいくつかあります。そのため、メニュー項目を無効にするか、非表示にしたいと思います。たとえば、私が試したときfileToolStripMenuItemの最初のアイテムです:menuStrip

fileToolStripMenuItem.Enabled = false;- これは機能しません menuStrip.Items[0].Enabled = false;- これは機能します

ここの違いについて誰か教えてもらえますか?

また、メニュー項目の 1 つからドロップダウン項目を無効にしたいのですが、それもできません。

コードは次のとおりです。

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;
            }
        }
4

3 に答える 3

6

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
}
于 2011-07-27T13:58:27.370 に答える
0

メニュー項目の特定の名前を使用して、その Visible プロパティを変更します。すなわち

 private void toggleToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (shown)
            saveToolStripMenuItem.Visible = false;
        else
            saveToolStripMenuItem.Visible = true;
        shown = !shown;
    }
于 2011-07-27T13:53:37.000 に答える
0

サブアイテムの場合は、アイテムを右クリックして、その名前を [プロパティ] ウィンドウの [デザイン セクション] に表示します。以下の私の場合addNewToolStripMenuItem1

public Form()   
    {
        InitializeComponent();
        menuStrip1.Items[1].Visible = false; // For Main Item // Bold Letters
        addNewToolStripMenuItem1.Visible = false; //For Sub Items         
    }
于 2013-12-19T19:28:55.957 に答える