数据库表结构如下:create table tbl_privilege
(
privilege_id varchar(30) not null,
privilege_name nvarchar(50) not null,
sonprivilege_id varchar(30) not null,)--测试数据
insert into tbl_privilege values('P01','用户管理','P')
insert into tbl_privilege values('P0101','添加','P01')
insert into tbl_privilege values('P0102','修改','P01')
insert into tbl_privilege values('P0103','查询','P01')------------------------------------------------------
应用程序代码如下:
public partial class FrmMain : Form //主窗体
{
public FrmMain(DataTable dt)
{
InitializeComponent();
//从顶级菜单开始加载
LoadSubMenu(dt, "P", menuStrip1.Items);
} /// <summary>
/// 递归加载子菜单
/// </summary>
/// <param name="dt">菜单数据表</param>
/// <param name="supauthid">父菜单ID</param>
/// <param name="parent">父菜单集合</param>
private void LoadSubMenu(DataTable dt, string supauthid, ToolStripItemCollection parent)
{
DataRow[] rows = dt.Select(string.Format("sonprivilege_Id='{0}'", supauthid));
foreach (DataRow item in rows)
{
ToolStripMenuItem menu = new ToolStripMenuItem(item["privilege_Name"].ToString()); parent.Add(menu); LoadSubMenu(dt, item["privilege_Id"].ToString(), menu.DropDownItems);
}
}
--------------------------------------------------------------------------------------------
请问如果我要添加单击查询、修改、添加项时的事件应该怎么做呢?(跳出各子窗体),我是初学者请具体加注释谢谢!!!
(
privilege_id varchar(30) not null,
privilege_name nvarchar(50) not null,
sonprivilege_id varchar(30) not null,)--测试数据
insert into tbl_privilege values('P01','用户管理','P')
insert into tbl_privilege values('P0101','添加','P01')
insert into tbl_privilege values('P0102','修改','P01')
insert into tbl_privilege values('P0103','查询','P01')------------------------------------------------------
应用程序代码如下:
public partial class FrmMain : Form //主窗体
{
public FrmMain(DataTable dt)
{
InitializeComponent();
//从顶级菜单开始加载
LoadSubMenu(dt, "P", menuStrip1.Items);
} /// <summary>
/// 递归加载子菜单
/// </summary>
/// <param name="dt">菜单数据表</param>
/// <param name="supauthid">父菜单ID</param>
/// <param name="parent">父菜单集合</param>
private void LoadSubMenu(DataTable dt, string supauthid, ToolStripItemCollection parent)
{
DataRow[] rows = dt.Select(string.Format("sonprivilege_Id='{0}'", supauthid));
foreach (DataRow item in rows)
{
ToolStripMenuItem menu = new ToolStripMenuItem(item["privilege_Name"].ToString()); parent.Add(menu); LoadSubMenu(dt, item["privilege_Id"].ToString(), menu.DropDownItems);
}
}
--------------------------------------------------------------------------------------------
请问如果我要添加单击查询、修改、添加项时的事件应该怎么做呢?(跳出各子窗体),我是初学者请具体加注释谢谢!!!
解决方案 »
- MVC3,页面submit刷新后,地址栏中url参数丢了
- IO.IOException: unable to read data from the transport connection
- 一键清空2张表,有什么好的办法?
- c#如何使用exchange2007发送邮件
- 使用海康DS-4004HC板卡网络SDK碰到的难题
- 请教关于EnterpriseLibrary.Security.Cryptography 的加密算法
- Label的透明问题(Up有分啊!!!)
- 怎样把网站上传到网上去
- 关于mschart饼图控件的使用问题?
- 各位大哥大姐,哪里有VS.NET 2003下载,小弟急用
- string cell1 = ((TextBox)(GVMinxi.Rows[e.RowIndex].Cells[1].Controls[0])).Text.T
- c#如何在数据库插入语句中加判断?
parent.Add(menu);
上面加以下代码menu.Tag = item["privilege_Id"].ToString(); //记录菜单ID
menu.Click += new EventHandler( MenuItem_Click ); //绑定事件
再添加一个方法,用来响应菜单单击事件 void MenuItem_Click( object sender, EventArgs e )
{
ToolStripMenuItem menu = sender as ToolStripMenuItem;
switch ( menu.Tag.ToString() )
{
case "P0101":
//添加,这里放你执行添加功能的代码
break; case "P0102":
//修改,这里放修改功能的代码
break; //其他的菜单处理代码
}
}
ToolStripMenuItem menu = new ToolStripMenuItem();
menu.ShortcutKeys = Keys.Control | Keys.L; //设置成CTRL+L
tsm.Click += new System.EventHandler(this.tsm_Click);
toolstrip没有ShortcutKeys 属性?
应该不是存储过程吧,
难道SQL SERVER的扩展存储过程