MenuStrip中Invalidated,menu script
menuStrip中点击某项后变灰 C#
假如你的开始菜单名叫?muneSatrt?想要变灰的按钮叫?buttonSome
那就在?muneSatrt?的?mouseClick?事件里写
buttonSome.Enabled=false;
就可以了?这里就用到了控件的?Enabled?属性?控件都应该有这个属性
这不就对了吗?你一次把问题说明白点不就行了嘛?不好意思
拉一个menuStrip?效果如图
private?void?开始SToolStripMenuItem_Click(object?sender,?EventArgs?e)
{
this.开始SToolStripMenuItem.Enabled?=?false;
}
c#中用了mdiparent以后menuStrip使用会失效怎么办??
windows窗体无法在MDI窗口中使用MenuStrip,但你可把子窗口的MenuStrip合并到父窗口的MenuStrip中,为了访问到子窗口的MenuStrip,你可能要把子窗口的MenuStrip变成属性。
代码如下
//Form1
public MenuStrip MenuStrip { get { return this.menuStrip1; } }
//父窗体的创建子窗体函数
private void ShowNewForm(object sender, EventArgs e)
{
Form1 childForm = new Form1();//new 一个子窗口
childForm.MdiParent = this;
ToolStripManager.Merge(this.menuStrip, childForm.MainMenuStrip);//
childForm.Text = "窗口 " + childFormNumber++;
childForm.Show();
}
C#在不同窗体中设置菜单menuStrip可用或不可用(或者使之变灰)
以下程序测试通过。
假设你有菜单的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();
}
}
}