假设你有菜单的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()
}
/// <summary>
/// FORM1的LOAD事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
登录ToolStripMenuItem.Enabled = true
//让文件菜单不可用
文件ToolStripMenuItem.Enabled = false
/*
把你其他菜单也按照文件菜单的写法,使其不可用
*/
}
/// <summary>
/// FORM1中单击登录菜单的事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// FORM3的构造函数,把FORM1传递进来
/// </summary>
/// <param name="_parent"></param>
public Form3(Form1 _parent)
{
InitializeComponent()
parent = _parent
}
/// <summary>
/// FORM3中单击确定按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonOK_Click(object sender, EventArgs e)
{
//你自己写判断是否登录成功的语句
//当判断登录成功后,执行下列代码。
//让文件菜单可用
parent.文件ToolStripMenuItem.Enabled = true
/*
把你其他菜单也按照文件菜单的写法,使其可用
*/
//让登录菜单不可用,以免用户再次登录,当然你根据自己需要,可以让其可用。
parent.登录ToolStripMenuItem.Enabled = false
this.Close()
}
}
}
在 MenuStrip 上创建 MDI 窗口列表创建一个窗体并将其 IsMdiContainer 属性设置为 true。
将一个 MenuStrip 添加到窗体中。
将两个顶级菜单项添加到 MenuStrip 并将其 Text 属性设置为 &File 和 &Window。
将一个子菜单项添加到 &File 菜单项,并将其 Text 属性设置为 &Open。
将 MenuStrip 的 MdiWindowListItem 属性设置为 &Window ToolStripMenuItem。
将一个窗体添加到项目,并向该窗体添加您需要的控件,例如另一个 MenuStrip。
为 &New ToolStripMenuItem 的 Click 事件创建一个事件处理程序。
在该事件处理程序内,插入类似于下列的代码,以创建和显示作为 Form1 的 MDI 子级的 Form2 新实例:
Visual Basic 复制代码
Private Sub openToolStripMenuItem_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) Handles _
openToolStripMenuItem.Click
Dim NewMDIChild As New Form2()
'Set the parent form of the child window.
NewMDIChild.MdiParent = Me
'Display the new form.
NewMDIChild.Show()
End Sub
[C#]
复制代码
private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 newMDIChild = new Form2()
// Set the parent form of the child window.
newMDIChild.MdiParent = this
// Display the new form.
newMDIChild.Show()
}
在 &New ToolStripMenuItem 中放置类似于以下的代码,以注册事件处理程序。
Visual Basic 复制代码
Private Sub newToolStripMenuItem_Click(sender As Object, e As _
EventArgs) Handles newToolStripMenuItem.Click
C# 复制代码
this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click)
MSDN原样抄来的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)