关于右击二级菜单的contextMenu 控件

wang7655 2007-11-20 11:59:09
this.menuItem5.MenuItems.Add(dr["name"].ToString(),new EventHandler(CustomItem_Click));

这里我给menuItem5的二级菜单已经给值进去了,运行也可以看见。

但是目前我怎么样才能确定点击的是那一个子栏目,以及子栏目的值呢?

而且这里是我循环给的值,读取的数据库。
foreach(DataRow dr in dt.Rows)
{
this.menuItem5.MenuItems.Add(dr["name"].ToString(),new EventHandler(CustomItem_Click));
list.Add(dr["name"].ToString());
}
...全文
191 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang7655 2007-11-20
  • 打赏
  • 举报
回复
我的是VS2003看来的弄个新版本的试试了
boblaw 2007-11-20
  • 打赏
  • 举报
回复
LZ用的不是VS2005吧?VS05中是ToolStripMenuItem ,VS2003中似乎是MenuItem還是什么,不記得了,就是菜單項的類
  • 打赏
  • 举报
回复
// This example demonstrates the EventHandler<T> delegate.

using System;
using System.Collections.Generic;

//---------------------------------------------------------
public class MyEventArgs : EventArgs
{
private string msg;

public MyEventArgs( string messageData ) {
msg = messageData;
}
public string Message {
get { return msg; }
set { msg = value; }
}
}
//---------------------------------------------------------
public class HasEvent
{
// Declare an event of delegate type EventHandler of
// MyEventArgs.

public event EventHandler<MyEventArgs> SampleEvent;

public void DemoEvent(string val)
{
// Copy to a temporary variable to be thread-safe.
EventHandler<MyEventArgs> temp = SampleEvent;
if (temp != null)
temp(this, new MyEventArgs(val));
}
}
//---------------------------------------------------------
public class Sample
{
public static void Main()
{
HasEvent he = new HasEvent();
he.SampleEvent +=
new EventHandler<MyEventArgs>(SampleEventHandler);
he.DemoEvent("Hey there, Bruce!");
he.DemoEvent("How are you today?");
he.DemoEvent("I'm pretty good.");
he.DemoEvent("Thanks for asking!");
}
private static void SampleEventHandler(object src, MyEventArgs mea)
{
Console.WriteLine(mea.Message);
}
}

看看这个例子,你应该知道怎么解决你这个问题了啊。把你要的都放到自定义的那个参数类里。
wang7655 2007-11-20
  • 打赏
  • 举报
回复
ToolStripMenuItem 这个是定义的还是??

我怎么这么写在程序里出错?
boblaw 2007-11-20
  • 打赏
  • 举报
回复

private void CustomItem_Click(object sender, EventArgs e)
{
ToolStripMenuItem mi=(ToolStripMenuItem )sender;
//通過Sender轉為mi就是當前菜單項
}
wang7655 2007-11-20
  • 打赏
  • 举报
回复
没有人做过?前面别人写的一段代码里,我弄了半天出错。

我是想能否在这里直接带个值过去?

110,572

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧