自定义控件删除自己的问题

头头石 2016-11-09 03:39:59
我的设计是这样的,我往Canvas面板里拖入自定义的控件,是动态的拖入,然后我想设置个右键菜单,里面有删除功能,目的就是删除这个控件,请问如何实现
...全文
634 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stherix 2016-11-09
  • 打赏
  • 举报
回复
引用 3 楼 jiachen_shi 的回复:
[quote=引用 1 楼 stherix 的回复:] 控件.Parent.Controls.Remove(控件); 至于控件怎么传到菜单事件里面来 那可以派生一个ToolStripMenuItem类 里面加一个 Control InvokeControl 然后把菜单的删除项改成这个类 在控件弹出右键菜单的时候,设定好InvokeControl 这样点击删除菜单的时候 就可以通过 (sender as 派生ToolStripMenuItem).InvokeControl 获得控件实例了
我写的ui是这样的 <Rectangle.ContextMenu> <ContextMenu Name="cm"> <MenuItem Header="设置"/> <MenuItem Header="删除" Click="MenuItem_Click"/> </ContextMenu> </Rectangle.ContextMenu> 然后直接在Click事件里写,this.parent. controls.remove(this)???? 但是调用不出来Controls [/quote] 是WPF啊 那就Children.Remove 但是不能用this,因为这是菜单项的Click,this往往是Window吧 还是得通过菜单把控件引用传过来
头头石 2016-11-09
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
控件.Parent.Controls.Remove(控件); 至于控件怎么传到菜单事件里面来 那可以派生一个ToolStripMenuItem类 里面加一个 Control InvokeControl 然后把菜单的删除项改成这个类 在控件弹出右键菜单的时候,设定好InvokeControl 这样点击删除菜单的时候 就可以通过 (sender as 派生ToolStripMenuItem).InvokeControl 获得控件实例了
我写的ui是这样的 <Rectangle.ContextMenu> <ContextMenu Name="cm"> <MenuItem Header="设置"/> <MenuItem Header="删除" Click="MenuItem_Click"/> </ContextMenu> </Rectangle.ContextMenu> 然后直接在Click事件里写,this.parent. controls.remove(this)???? 但是调用不出来Controls
头头石 2016-11-09
  • 打赏
  • 举报
回复
引用 楼主 jiachen_shi 的回复:
我的设计是这样的,我往Canvas面板里拖入自定义的控件,是动态的拖入,然后我想设置个右键菜单,里面有删除功能,目的就是删除这个控件,请问如何实现
我写的ui是这样的 <Rectangle.ContextMenu> <ContextMenu Name="cm"> <MenuItem Header="设置"/> <MenuItem Header="删除" Click="MenuItem_Click"/> </ContextMenu> </Rectangle.ContextMenu> 然后直接在Click事件里写,this.parent. controls.remove(this)????
stherix 2016-11-09
  • 打赏
  • 举报
回复
控件.Parent.Controls.Remove(控件); 至于控件怎么传到菜单事件里面来 那可以派生一个ToolStripMenuItem类 里面加一个 Control InvokeControl 然后把菜单的删除项改成这个类 在控件弹出右键菜单的时候,设定好InvokeControl 这样点击删除菜单的时候 就可以通过 (sender as 派生ToolStripMenuItem).InvokeControl 获得控件实例了

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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