========100分请教一个让我困惑的问题:在MainMenu的触发ItemMenu事件的问题。======== 这句话是不是要修改成topMenuItem.MenuItems[sName].Click += new EventHandler(this.menuItem1_Click); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 另外,这个事件可以修改成:private void menuItem1_Click(object sender, System.EventArgs e){ MenuItem mim = (MenuItem)sender; MessageBox.Show(mim.Text);} Sorry,第一个不能那样写,汗sName = xmlCurNode.Attributes["name"].Value;topMenuItem.MenuItems.Add(sName); 修改成:topMenuItem.MenuItems.Add(new MenuItem(sName)); topMenuItem.Click += new EventHandler(this.menuItem1_Click);这句写错了。:)==========================================================================谁能回答我第二个问题啊?如果才能给菜单传递sSrc参数呢?通过名称是不行的,因为我这个不是名称啊。是一个http地址,谢谢。========================================================================== 我看了一下MenuItem,好像没有一个Tag属性:)如果有的话就很方便了那既然没有,就手动添加吧public class MyMenuItem : MenuItem { private string _tag = ""; public string Tag { get { return this._tag; } set { this._tag = value; } } public MyMenuItem(string varInfo):base() { this._tag = varInfo; } } 这样,你New的时候要New这个MyManuItem了:)sName = xmlCurNode.Attributes["name"].Value;MyManuItem mmi = new MyManuItem(你希望传递的信息);topMenuItem.MenuItems.Add(mmi ); .......mmi.Click += new EventHandler(this.menuItem1_Click); private void menuItem1_Click(object sender, System.EventArgs e){ MyMenuItem mmi = (MyMenuItem )sender; MessageBox.Show(mim.Tag);} 就是说,自己继承一下这个ManuItem,给它添加上自己想要的属性 public MyMenuItem(string varInfo):base() { this._tag = varInfo; }public MyMenuItem(string text,string varInfo):base(text) { this._tag = varInfo; }---修改那个重载的类MyManuItem mmi = new MyManuItem(你希望传递的信息);---》MyManuItem mmi = new MyManuItem(sName,你希望传递的信息); 我写了一个用户控件,页面调用多次,但是总是只能正常显示第一个,帮我找找一下错误. CGI中使用双缓冲遇到问题 iphone 模拟器 socket程序在c/s版本中调试通过,转换为b/s版本就无法通过 C#程序,需要通过注册表禁止ie/webbrowser中图片载入 .net丢失system.data.oracleclient.dll! 文件压缩加密解密解压问题 两个窗体之间怎么相互传值? 急!!!关于adsi的!!!! datagrid的若干问题 有关繁简体字的转换问题。 怎么把.TXT文件里的数据导入到ORACLE数据库里啊,各位老大,急啊!
private void menuItem1_Click(object sender, System.EventArgs e)
{
MenuItem mim = (MenuItem)sender;
MessageBox.Show(mim.Text);
}
sName = xmlCurNode.Attributes["name"].Value;
topMenuItem.MenuItems.Add(sName);
修改成:
topMenuItem.MenuItems.Add(new MenuItem(sName));
谁能回答我第二个问题啊?如果才能给菜单传递sSrc参数呢?
通过名称是不行的,因为我这个不是名称啊。是一个http地址,谢谢。
==========================================================================
如果有的话就很方便了
那既然没有,就手动添加吧public class MyMenuItem : MenuItem
{
private string _tag = ""; public string Tag
{
get
{
return this._tag;
}
set
{
this._tag = value;
}
}
public MyMenuItem(string varInfo):base()
{
this._tag = varInfo;
}
}
sName = xmlCurNode.Attributes["name"].Value;
MyManuItem mmi = new MyManuItem(你希望传递的信息);topMenuItem.MenuItems.Add(mmi );
.......
mmi.Click += new EventHandler(this.menuItem1_Click);
private void menuItem1_Click(object sender, System.EventArgs e)
{
MyMenuItem mmi = (MyMenuItem )sender;
MessageBox.Show(mim.Tag);
}
{
this._tag = varInfo;
}public MyMenuItem(string text,string varInfo):base(text)
{
this._tag = varInfo;
}
---修改那个重载的类MyManuItem mmi = new MyManuItem(你希望传递的信息);
---》
MyManuItem mmi = new MyManuItem(sName,你希望传递的信息);