以下程序测试通过。
假设你有菜单的FORM为FORM1,下面的示例中只添加两个菜单:登录和文件
FORM1代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 登录实验
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
///
/// FORM1的LOAD事件
///
///
///
private void Form1_Load(object sender, EventArgs e)
{
登录ToolStripMenuItem.Enabled = true;
//让文件菜单不可用
文件ToolStripMenuItem.Enabled = false;
/*
把你其他菜单也按照文件菜单的写法,使其不可用
*/
}
///
/// FORM1中单击登录菜单的事件
///
///
///
private void 登录ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form3 formLogin = new Form3(this);
formLogin.ShowDialog();
}
}
}
FORM3代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 登录实验
{
public partial class Form3 : Form
{
private Form1 parent;//定义主窗体的一个成员,表示FORM1
///
/// FORM3的构造函数,把FORM1传递进来
///
///
public Form3(Form1 _parent)
{
InitializeComponent();
parent = _parent;
}
///
/// FORM3中单击确定按钮
///
///
///
private void buttonOK_Click(object sender, EventArgs e)
{
//你自己写判断是否登录成功的语句
//当判断登录成功后,执行下列代码。
//让文件菜单可用
parent.文件ToolStripMenuItem.Enabled = true;
/*
把你其他菜单也按照文件菜单的写法,使其可用
*/
//让登录菜单不可用,以免用户再次登录,当然你根据自己需要,可以让其可用。
parent.登录ToolStripMenuItem.Enabled = false;
this.Close();
}
}
}
还要将“文件ToolStripMenuItem”的“Modifiers”属性由"Private"改为"Public"