我正在开发一个自定义用户控件,它基本上显示一个名称值对(名称在黑色背景上,值在白色上)。我的控件显示正确,甚至出现在Designer和我的构建页面上。
我想从这里做的是能够右键单击用户控件并出现一个具有“复制值”选项的菜单,选中此选项后将复制“值”中的值用户控件的一部分到剪贴板。什么是最好的方法?
我不知道从哪里开始,因为我发现大多数关于用户控件的文档都涉及显示控件,而不一定与它进行交互。另外,由于我还在学习C#,我可能在这个问题上遗漏了我的问题的一个重要部分,所以如果是这样的话请指出。
我正在使用Visual Studio 2008(如果这很重要)。
答案 0 :(得分:3)
检查ContextMenu
控件和其他控件的ContextMenu
属性。通过将ContextMenu控件分配给另一个控件的ContextMeny属性,您将为您完成右键单击 - >弹出菜单布线。然后,您只需要在上下文菜单中实现不同菜单项的单击事件。
然后你可以使用Clipboard.SetText
(按照BFree的建议)将所需的值设置到剪贴板。
答案 1 :(得分:1)
向控件添加ContextMenu。挂钩进入MouseClick(或MouseDown,哪个效果更好)事件,如果是右键单击,则调用ContextMenu上的show(有一些重载,试着弄乱它们看看哪个最适合你)。然后,在上下文菜单的click事件中,只需调用Clipboard.SetText(...)将值设置为剪贴板。