我现在的问题是。一个菜单里有一个事件。我需要根据文件需要增加菜单。点击菜单运行不同的方法。我描述得不是很清楚。可以看下面了。
我需要给加动态的方法。建立一个方法。方法名是变化的。
给菜单加上click事件
item.Click += new EventHandler(item_Click);
方法里面只有一个语句:
void item_Click(object sender, EventArgs e)
{
ed.WriteMessage(s)
}
1,item_Click是变化的
2,我需要传用进去一个S变量。类型为string.
3,object sender, EventArgs e 不用管。没有用。
非常感谢! 要求用net 2.0版本
事件绑定一个,根据点击哪个菜单执行什么代码不行吗?
而且你这样做也只是动态绑定事件而已。
动态事件绑定可以完成这个功能,具体实现可以参照工厂方法的实现方式,实现起来比较优雅
那就根据Text的文字来做判断,具体要调用哪个方法,如果怕重复,那就在设计时避免这样的问题,相信不难的
建议换成前台js实现,如果需要和后台交互用ajax
3.object sender, EventArgs e 不用管。没有用。
觉得可以,每个菜单的 可以设置属性,比如Name值,后台可以获取属性值是来判断哪个按钮
关键是没有啊。要有。要是有。这就方面了。
自定义一个MenuItems.---自定义不是很复杂??
不复杂,就是继承后添加多一个属性就OK了.
然后Sender转换一下类型就有你需要的参数了.
public class a : MenuItem
{
public string s = "123";
}
不会哟! 出现“Autodesk.AutoCAD.Windows.MenuItem”不包含采用“0”参数的构造函数
@游天居士:
你怎么搞的,这个简单的错误也解决不了?贴一下代码
点击菜单运行不同的方法,你给不同Item的Click事件注册不同的方法不就可以了?