首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

为什么这么写找不到控件啊该如何解决

2012-04-11 
为什么这么写找不到控件啊ToolStripMenuItem temperature (ToolStripMenuItem)sender//获取温度菜单

为什么这么写找不到控件啊
ToolStripMenuItem temperature = (ToolStripMenuItem)sender;//获取"温度"菜单项
  ToolStripMenuItem temperatureParent = (ToolStripMenuItem)temperature.OwnerItem;
  ContextMenuStrip selete = (ContextMenuStrip)temperatureParent.Owner;//获取它所在的菜单.
  Console.WriteLine(selete);
  Control bind = (Control)selete.SourceControl;//获取菜单被显示的控件
  this.Controls.Remove(bind);
  Console.WriteLine(bind);
一级菜单的时候可以找到父控件,二级菜单这么写前面的都找得到,就是找不到最后的父控件,不知道什么原因

[解决办法]
我试了试是可以访问到owner的,你调试看看二级菜单的Owner是神马
[解决办法]
select 能找到不?
[解决办法]
你指定ContextMenuStrip 的SourceControl了么
[解决办法]
debug的时候跟一下 可能是父亲的父亲 这种情况最好用递归 或者直接FindControl

热点排行