C# 禁用ToolStripMenuItem与禁用MenuStrip.Item
当用户登录到我的应用程序时,我不希望每个用户都看到一些菜单项。因此,我想禁用或使菜单项不可见。例如,C# 禁用ToolStripMenuItem与禁用MenuStrip.Item,c#,.net,winforms,menustrip,C#,.net,Winforms,Menustrip,当用户登录到我的应用程序时,我不希望每个用户都看到一些菜单项。因此,我想禁用或使菜单项不可见。例如,fileToolStripMenuItem是我的menuStrip中的第一项,当我尝试: fileToolStripMenuItem.Enabled=false-这不起作用 menuStrip.Items[0]。Enabled=false-这确实有效 有人能告诉我这里的区别吗 此外,我希望能够禁用其中一个菜单项的下拉项,但我也不能这样做 代码如下: public Form1() {
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;
}
}
使用菜单项的特定名称并更改其Visible属性。i、 e
private void toggleToolStripMenuItem_Click(object sender, EventArgs e)
{
if (shown)
saveToolStripMenuItem.Visible = false;
else
saveToolStripMenuItem.Visible = true;
shown = !shown;
}
使用菜单项的特定名称并更改其Visible属性。i、 e
private void toggleToolStripMenuItem_Click(object sender, EventArgs e)
{
if (shown)
saveToolStripMenuItem.Visible = false;
else
saveToolStripMenuItem.Visible = true;
shown = !shown;
}
fileToolStripMenuItem.Enabled=false代码>按预期工作。我认为您在初始化组件()之前试图禁用它;打电话
fileToolStripMenuItem.Enabled=false代码>按预期工作。我认为您在初始化组件()之前试图禁用它;打电话
对于子项,只需右键单击该项,并在“属性”窗口的“设计”部分中查看其名称。在我下面的例子中addNewToolStripMenuItem1
public Form()
{
InitializeComponent();
menuStrip1.Items[1].Visible = false; // For Main Item // Bold Letters
addNewToolStripMenuItem1.Visible = false; //For Sub Items
}
对于子项,只需右键单击该项,并在“属性”窗口的“设计”部分中查看其名称。在我下面的例子中addNewToolStripMenuItem1
public Form()
{
InitializeComponent();
menuStrip1.Items[1].Visible = false; // For Main Item // Bold Letters
addNewToolStripMenuItem1.Visible = false; //For Sub Items
}
谢谢你的回复,但正如我在帖子中所说的那样,这是行不通的。只有当我说menuStrip.Items[0].Visible=false时,它才起作用代码>我需要知道为什么以及如何解决这个问题。谢谢你的回复,但正如我在帖子中所说的那样,这不起作用。只有当我说menuStrip.Items[0].Visible=false时,它才起作用代码>我需要知道为什么以及如何解决这个问题。好吧,我明白了,但你的代码中仍然存在一些错误。您能否从设计器生成的代码中添加代码?menustrip及其项是如何初始化的?您使用的是哪个版本的框架?.NET framework是4.0.30319版本。它将在Wow中发布设计器代码。我很高兴你让我看了一下设计器代码。很明显,我做了一些傻事,不知怎的,我把所有的菜单项都做了鬼拷贝,最后加上了1。例如,fileToolStripMenuItem1
而不是fileToolStripMenuItem
。现在我引用了正确的项目,一切都很好。真不敢相信我在这上面浪费了一个小时。。。不过谢谢。:)是的,我知道,有时候问题的解决方案比看起来要简单得多。好的,我明白了,但代码中仍然有一些错误。您能否从设计器生成的代码中添加代码?menustrip及其项是如何初始化的?您使用的是哪个版本的框架?.NET framework是4.0.30319版本。它将在Wow中发布设计器代码。我很高兴你让我看了一下设计器代码。很明显,我做了一些傻事,不知怎的,我把所有的菜单项都做了鬼拷贝,最后加上了1。例如,fileToolStripMenuItem1
而不是fileToolStripMenuItem
。现在我引用了正确的项目,一切都很好。真不敢相信我在这上面浪费了一个小时。。。谢谢。:)是的,我知道,有时候问题的解决比看起来要简单得多。