C#在不同窗体中设置菜单menuStrip可用或不可用(或者使之变灰)

C#在不同窗体中设置菜单menuStrip可用或不可用(或者使之变灰),第1张

以下程序测试通过。

假设你有菜单的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原样抄来的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7850764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存