C#中的自定义用户控件...右键单击菜单复制文本(Java Developer学习C#)

时间:2009-06-25 16:29:03

标签: c# winforms visual-studio-2008 user-controls

我正在开发一个自定义用户控件,它基本上显示一个名称值对(名称在黑色背景上,值在白色上)。我的控件显示正确,甚至出现在Designer和我的构建页面上。

我想从这里做的是能够右键单击用户控件并出现一个具有“复制值”选项的菜单,选中此选项后将复制“值”中的值用户控件的一部分到剪贴板。什么是最好的方法?

我不知道从哪里开始,因为我发现大多数关于用户控件的文档都涉及显示控件,而不一定与它进行交互。另外,由于我还在学习C#,我可能在这个问题上遗漏了我的问题的一个重要部分,所以如果是这样的话请指出。

我正在使用Visual Studio 2008(如果这很重要)。

2 个答案:

答案 0 :(得分:3)

检查ContextMenu控件其他控件的ContextMenu属性。通过将ContextMenu控件分配给另一个控件的ContextMeny属性,您将为您完成右键单击 - >弹出菜单布线。然后,您只需要在上下文菜单中实现不同菜单项的单击事件。

然后你可以使用Clipboard.SetText(按照BFree的建议)将所需的值设置到剪贴板。

答案 1 :(得分:1)

向控件添加ContextMenu。挂钩进入MouseClick(或MouseDown,哪个效果更好)事件,如果是右键单击,则调用ContextMenu上的show(有一些重载,试着弄乱它们看看哪个最适合你)。然后,在上下文菜单的click事件中,只需调用Clipboard.SetText(...)将值设置为剪贴板。